Movatterモバイル変換


[0]ホーム

URL:


MU
Uploaded byMotohiro Ueki
1,897 views

クイズ・Python勝ち抜きバトル pycon jp_2017

Pycon JP 2017 にて発表させていただいた資料です。お茶の間の皆様もお楽しみいただけるよう、工夫したバージョンとなります。

Embed presentation

開発グループ / 植木 基博
このスライドは何?・PyconJP 2017 にて発表させていただいたクイズ企画のスライドとなります。・発表中に飛ばした問題は割愛しています。また、スライドの意図等を、頭の方に持って来るなど、今、お読みの方が少しでも楽しめるよう、工夫をさせていただきました。・クイズの性質上、初心者向けの内容が多いですが、中級者の方も「気付き」が得られるよう、解答内に豆知識がございます。・ぜひ、お仲間で集まり、楽しみながらページをめくってください。2
WHY?
なぜクイズをやったか4IEEE Spectrum で1位!・Pythonは色んな所で活用されだしている・特に最近では、抽象度の高いフレームワークが登場・Web、データ分析、機械学習、システムプログラミング・・・▶ 反面、プログラミングツール化してきているのではないか。▶ もともとは、良い文法、良い文化、豊富な標準モジュール が評価されていた▶ ツールとしてのPythonではなく、言語仕様や文化にも興味を持って欲しい
WHO?
自己紹介■ 植木 基博・・自社サービス popinfoの責任者■ popinfo・O2O プラットフォーム (6,500万ユーザー)・7年間開発し続けている・Django, Flask, Celery …・AWS (EC2, RDS, Lambda, Athena, Pipeline, ElastiCache/Search)6
アイリッジのご紹介7インターネットを通じて、世の中に新しい価値を創造し続ける。
アイリッジのご紹介8・ユーザー数 6,500万の O2O サービス popinfo の企画、開発、運用・金融業開初の電子通貨サービスの企画、開発、運用・企業向けスマホアプリサービスの企画、開発、運用
アイリッジのご紹介9・主要な開発言語として、Pythonを採用・製品、コードの品質を重視する文化・AWS, GCP を積極的に取り入れたクラウドベースの開発
アイリッジのご紹介10・なによりも、「楽しく」⇛
We are hiring11● Pythonが好きな方、楽しく仕事をしたい方● Python + Lambda、Batch、DataPipeline、Glueなどサーバーレスな設計をしたい方● 品質にこだわって、サービス開発をしたい方● PythonよりGo言語書きたい人
READY?
・最大4択形式の「勝ち抜き」 (間違えると次の問題の解答不可)・事前配布した札を上げてください・この文字が読みづらい人は、前に来てください・制限時間は10秒程度です・【お願い】間違えがあったら、あとでこっそり教えてください!ルール
開始
練習
次のうち、標準ライブラリにないものはどれでしょうか。A: httpサーバーのライブラリC: ftpサーバーのライブラリB: smtpサーバーのライブラリD: 全部ある
httpサーバー、smtpサーバーは、標準ライブラリで提供されています。例えば、コマンドライン1行で、httpサーバーを立ち上げることができます。$ python3 -m http.serverまた、http, smtp, pop3, ftp など、よくあるプロトコルのライブラリは標準モジュールになっています。C: ftpサーバーのライブラリ
練習
「無限」という数の扱いに関して正しい説明はどれでしょうか。A: true は数値比較において、無限と同じ意味である。C: numpy などのサードパーティーモジュールを利用する必要がある。B: 「inf」 という無限を表す値があるD: 取り扱うことはできない。
Pythonでは、言語標準で 無限を取り扱うことができます。float型の値となります。>>> float(‘inf’)inf>>> 9999 < float(‘inf’)TrueB: 「inf」 という無限を表す値がある
初級
次のうち、if 文の書き方として正しいものはどっち?A: if a == 1:----B: if ($a == 1) { ... }----
python は波括弧の代わりに、インデントを使います。ただし、複雑な if の条件式の場合、( )をよく使います。よい if 文の書き方も PEP-8 に記載されています。A: if a == 1:
次のうち、pythonの生みの親はどれでしょう。A: 左C: 右B: 真ん中D: ここにはいない
左から、セガール、セガール、セガール です。D: ここにはいない
Python2系は、未だに色んな所で使われています。2系の最初のバージョン( 2.0 )は、何年前にリリースされたでしょう。A: 今年リリースされたばかり----B: 約 17年前----
2.0は、2000年10月にリリースされています。2010年 7月 3日 には、2.7.0がリリースされ、今でもメンテナンスされています。Python は、言語の標準仕様がとても安定しています。そのため、Python言語コアに詳しくなる事の価値がとても高いと思っています。B: 約17年
python で関数を定義する時に使うものとして、正しくないものはどれでしょうか。A: defC: classB: lambda----
python は “def” で関数を定義します。lambda で、無名関数を定義することもできます。ただし、lambdaに関しては、公式のコーディング規約にて、変数に代入するような使い方はすべきでないと記載されています。読みやすいプログラムを書きましょう。C: class
現行で最新のstableなpythonのメジャーバージョンは?A: 1系C: 3系B: 2系D: 4系
最新は、3.6.2 で、2017-07-17 にリリースされました。2.x は、2020年にサポート終了と言われています。みなさん、早めに移行しましょう。C: 3系
正しいロゴはどれでしょう。A: 左C: 中央右B: 中央左D: 右
C: 中央右
Pythonでは、こうあるべきという指標として、「◯◯◯ of Python」という 20個の格言を定めています。◯◯◯に当てはまるものはなんでしょうか。A: EggC: ZenB: RuleD: Python
「Zen of Python」は、ソフトウェアはこう書くべき。という20個の格言です。Pythonという名前が付いていますが、プログラムを書く上で、常に気を配るべき格言です。例えば、、Special cases aren't special enough to break the rules.特殊であることはルールを破る理由にならない。弊社でも、コードレビュー等で、頼るべきバイブルとして、活用しています。C: Zen
Pythonで整数型は、最大いくつまでの数を扱えるでしょうか。A: 255C: 約 20億B: 65,535D: もっとずっと多い
何の工夫もしなくても、メモリの限り、大きな数字を扱えます。D: もっとずっと多い
pythonで予約語ではないものはどれでしょうか。A: inC: asB: onD: is
in は、シーケンス型に含まれるかどうかを検査する演算子。as は、モジュールインポート時に別名を付けるためのワード。is は、オブジェクトの同一性を判定する演算子です。on は、予約語ではないです。B: on
中級
次のうち、Zen of Python に書かれていないものは、どれでしょうか。A: Beautiful is better than ugly.C: If possible, make it shorter.B: Explicit is better than implicit.C: Readability counts.
Beautiful is better than ugly.醜いより美しいほうが良い。Explicit is better than implicit.暗黙的ではなく、明示的にしたほうが良い。Readability counts.読みやすい事は、大切である。C: If possible, make it shorter.Pythonは、長くても気にしません。長くても美しく書きましょう長くても明示しましょう短さより、読みやすさを選びましょうZen of Pythonは、コードレビューの時に役立ちます
python で関数を定義する時に使うものとして、正しいものはどれでしょうか。A: lambdaC: lamdaB: labmdaD: lamdba
python は “def” で関数を定義します。lambda をつかって、無名関数を定義することもできます。lambda は、sorted等の組み込み関数などで便利ですが、よく使う演算は、operator モジュールにあります。読みやすいプログラムを書きましょう。A: lambda
次のうち、評価値が異なるものはどれでしょうか。A: ( ) is ( )C: “ “ is “ “B: [ ] is [ ]D: None is None
is は同一性の比較で、 == は等価性の比較です。list型は、定義する度に別の物(アドレス空間)となります。また、== は、 __eq__ でオーバーライドすることができますが、is はできません。【PyconJP にて、ご指摘いただきました】文字列は、特に長くなった場合、is の比較では「偽」の判定となります。B: [ ] is [ ]
次の式を評価すると、どうなるでしょうか?{1} + {2, 3} - {2}A: (1, 3)C: [1, 3]B: {1, 3}D: その他
pythonでは、 {1, 2, 3} など、波括弧を使うことで、「集合型」のリテラル表記が可能です。しかし、「集合型」に対する加算、減算は定義されておらず、エラーになります。D: その他
Pythonでは、関数の説明に、docstring というコメントを書くことができます。PEP-8 で、docstring の折り返しは、何文字以内にすべきと書かれているでしょうか。A: 64C: 79B: 72D: 80
コメントやdocstringは 72文字。コードは、79文字までと書かれています。また、チームで合意できる時は、コードは、最大99文字までなら良いとされていますが、それでもコメントやdocstringは 72文字にすべきであると、念押しされています。B: 72
次の式を評価すると、どうなるでしょうか?float(" .320")A: 0.32C: 1.32B: 320D: SyntaxError
標準型の規則を知っておきましょう。例えば、野球の打率データなど、外部CSVを読み込む時に、ドットから始まるケースで、無駄なコードを書く必要が無くなります。A: 0.32
Dict型のキーとして使えないのはどれでしょうか。A: intC: tupleB: strD: list
Pythonの公式チュートリアルに説明があります。Dict型のキーには、「immutable (変更不能な型)」なオブジェクトを指定する必要があります。辞書は キー (key) でインデクス化されています。このキーは何らかの変更不能な型になります。文字列、数値は常にキーにすることができます。タプルは、文字列、数値、その他のタプルのみを含む場合はキーにすることができます。直接、あるいは間接的に変更可能なオブジェクトを含むタプルはキーにできません。リストをキーとして使うことはできません。これは、リストにスライスやインデクス指定の代入を行ったり、 append() や extend()のようなメソッドを使うと、インプレースで変更することができるためです。D: list
次の式を評価すると、どうなるでしょうか?0.1 + 0.2 == 0.3A: TrueC: TypeErrorB: FalseD: SyntaxError
浮動小数点は、近似値のため、Falseになってしまいます。Python3.5以降であれば、math.isclose()で 近似かどうかを判定できます。math.isclose(0.1+0.2, 0.3) == TrueB: False
変数 x の型が、整数であるかどうかを確かめる方法として、推奨される方法はどれでしょうか。A: type(x) == intC: isinstance(x, int)B: type(x) == type(1)D: issubclass(x, int)
type(x) は、変数x のクラスを返却します。しかし、公式ドキュメントには、以下の記述があり、isinstance() を推奨しています。オブジェクトの型の判定には、 isinstance() 組み込み関数を使うことが推奨されます。これはサブクラスを考慮するからです。C: isinstance(x, int)
上級
次のうち、pythonの生みの親はどれでしょう。A: 左C: 右B: 真ん中D: ここにはいない
左から、Go, lisp, python です。間違った人は、今日、選んでしまった言語をググろう!C: 右
Ver 1.0 のリリースが、Pythonよりも古い言語はどれでしょうか。A: PHPC: RubyB: JavaD: ここにはない
Python: 1994年PHP: 1995年Java: 1996年Ruby: 1995年Pythonと同じ頃、多くの言語が生まれています。Pythonよりも古い言語は、例えば Perl (1987) があります。D: ここにはない
Pythonの標準モジュールで出来ることは?A: 速く走るC: 空を飛ぶB: 海を渡るD: 何を言ってるかわからない
Pythonには、イースターエッグとして、「import antigravity」があります。import すると、ブラウザが立ち上がり、xkcd のサイトにいきなり飛ばされ、Pythonで空を飛ぶ漫画が表示されます。海外のショートコミックサイトで有名なネタ。らしいです。C: 空を飛ぶ
次の式を評価すると、何になるでしょうか。True + False is TrueA: TrueC: TypeErrorB: FalseD: SyntaxError
ブール値は、int型のサブクラスで、True == 1 , False == 0 です。そのため、以下に簡約されます。(1 + 0) is True1 is Trueしかし、 1 とTrue は、等価ですが、同一ではありません。is で比較しているため、Falseになります。B: False
次のうち、Pythonの生みの親はどれでしょう。A: 左C: 右B: 真ん中D: ここにはいない
左から、PHP, Python, Go です。間違った人は、髭をのばそう!(女性の方は、髭の人とお付き合いしましょう)A: 真ん中
楽しんでいただければ幸いです。ありがとうございました!

Recommended

PDF
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PPTX
本当のオブジェクト指向は可読性を上げる
PDF
Phpではじめるオブジェクト指向(公開用)
PDF
第1回 モデリング勉強会
ODP
オブジェクト指向勉強会(基礎)
PPTX
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
PDF
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PPT
オブジェクト指向最強
PDF
サポーターズ勉強会スライド 2018/2/27
PDF
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
PPT
大規模Perl初心者研修を支える技術
PDF
モジュールの凝集度・結合度・インタフェース
PDF
mecab-ipadic-NEologd の効果的な使い方
PPTX
JMeterをWebでしか設定できないサーバの設定自動化に使う
PPTX
ACL読み会2014@PFI "Two Knives Cut Better Than One: Chinese Word Segmentation w...
PDF
スライド作成入門
PPTX
サポーターズ勉強会スライド
PDF
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
PDF
Python勉強会 2015-12-02
PDF
Start Concurrent
PPTX
形態素解析器の比較できるPythonパッケージつくった話
PPTX
オブジェクト指向設計の原則
PPTX
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
PDF
PFIセミナー 2013/02/28 「プログラミング言語の今」
PDF
Python & PyConJP 2014 Report
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
KEY
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
PPTX
2017/12/21 虎の穴 Python勉強会
PDF
PyConJP Keynote Speech (Japanese version)
 

More Related Content

PDF
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PPTX
本当のオブジェクト指向は可読性を上げる
PDF
Phpではじめるオブジェクト指向(公開用)
PDF
第1回 モデリング勉強会
ODP
オブジェクト指向勉強会(基礎)
PPTX
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
PDF
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PPT
オブジェクト指向最強
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
本当のオブジェクト指向は可読性を上げる
Phpではじめるオブジェクト指向(公開用)
第1回 モデリング勉強会
オブジェクト指向勉強会(基礎)
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
オブジェクト指向最強

What's hot

PDF
サポーターズ勉強会スライド 2018/2/27
PDF
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
PPT
大規模Perl初心者研修を支える技術
PDF
モジュールの凝集度・結合度・インタフェース
PDF
mecab-ipadic-NEologd の効果的な使い方
PPTX
JMeterをWebでしか設定できないサーバの設定自動化に使う
PPTX
ACL読み会2014@PFI "Two Knives Cut Better Than One: Chinese Word Segmentation w...
PDF
スライド作成入門
PPTX
サポーターズ勉強会スライド
PDF
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
PDF
Python勉強会 2015-12-02
PDF
Start Concurrent
PPTX
形態素解析器の比較できるPythonパッケージつくった話
PPTX
オブジェクト指向設計の原則
PPTX
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
サポーターズ勉強会スライド 2018/2/27
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
大規模Perl初心者研修を支える技術
モジュールの凝集度・結合度・インタフェース
mecab-ipadic-NEologd の効果的な使い方
JMeterをWebでしか設定できないサーバの設定自動化に使う
ACL読み会2014@PFI "Two Knives Cut Better Than One: Chinese Word Segmentation w...
スライド作成入門
サポーターズ勉強会スライド
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Python勉強会 2015-12-02
Start Concurrent
形態素解析器の比較できるPythonパッケージつくった話
オブジェクト指向設計の原則
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る

Similar to クイズ・Python勝ち抜きバトル pycon jp_2017

PDF
PFIセミナー 2013/02/28 「プログラミング言語の今」
PDF
Python & PyConJP 2014 Report
PDF
Pythonはどうやってlen関数で長さを手にいれているの?
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
KEY
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
PPTX
2017/12/21 虎の穴 Python勉強会
PDF
PyConJP Keynote Speech (Japanese version)
 
PPTX
(Lambdaだけで) 純LISPのような ナニかを作る
PDF
エキ Py 読書会02 2章後半
PDF
PyPy 紹介
ODP
Introduction of Python
PDF
第36回NDS 発表資料 ちょこっとpython
PDF
DATUM STUDIO PyCon2016 Turorial
PPTX
Wacode5thでのpython講義資料
PPT
Python languageupdate (2004)
PDF
LLdeade Python Language Update
PDF
エキ Py 読書会02 2010/9/7
PDF
Pythonで始めるDropboxAPI
PDF
エキ Py 読書会02 2章前半
PPT
Pythonintro
PFIセミナー 2013/02/28 「プログラミング言語の今」
Python & PyConJP 2014 Report
Pythonはどうやってlen関数で長さを手にいれているの?
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
2017/12/21 虎の穴 Python勉強会
PyConJP Keynote Speech (Japanese version)
 
(Lambdaだけで) 純LISPのような ナニかを作る
エキ Py 読書会02 2章後半
PyPy 紹介
Introduction of Python
第36回NDS 発表資料 ちょこっとpython
DATUM STUDIO PyCon2016 Turorial
Wacode5thでのpython講義資料
Python languageupdate (2004)
LLdeade Python Language Update
エキ Py 読書会02 2010/9/7
Pythonで始めるDropboxAPI
エキ Py 読書会02 2章前半
Pythonintro

クイズ・Python勝ち抜きバトル pycon jp_2017


[8]ページ先頭

©2009-2025 Movatter.jp