当コラムでは、PythonZen & PEP 8 検定試験(こちらでオンライン受験できます)で出題されている問題の解説を行なっています。当コラムシリーズを読んで自信がついたら、ぜひ試験に挑戦してみてくださいね。
今回のコラムで解説する試験問題はこちらです。
問題
PEP 8が推奨する変数アノテーションの書き方について、正しいものを選択肢の中から選びなさい。
code:int
code : int
code:int=0
code: int = 0
解答のヒント
PEP 8「変数アノテーション」(Variable Annotations )が今回の問題の出題範囲になっています。
モジュールレベル変数、クラス変数、インスタンス変数、ローカル変数のアノテーションは、コロンの後に半角スペースを入れます。
Annotations for module level variables, class and instance variables, and local variables should have a single space after the colon.
コロンの前には半角スペースを入れません。
There should be no space before the colon.
右辺がある代入の場合は、等号の前後に半角スペースを1つずつ入れます。
If an assignment has a right hand side, then the equality sign should have exactly one space on both sides:
適切な書き方:
# Correct: code: int class Point: coords: Tuple[int, int] label: str = '<unknown>'
不適切な書き方:
# Wrong: code:int # No space after colon code : int # Space before colon class Test: result: int=0 # No spaces around equality sign
以上のガイドラインを読んで、正解を導けましたでしょうか?
ガイドラインには具体的なサンプルコードもたくさん載っていますので、しっかりと確認しておきましょう。
正解はこちら
ガイドラインには、ルールとして従わなくてはいけないこと(must)、推奨されること(should)、各ルールの適用例・非適用例(cases)が書いてあります。ルールを機械的に覚えるだけではなく、なぜこのルールがあるのかを意識していくと、理解が深まりますね。
自信がついてきたら PythonZen & PEP 8 検定試験 で実際に試験を受けて、正解を当ててみましょう。
そして、みなさんのPython開発にも活かしていただけると嬉しいです。