2章「コーディング規約」の対策ポイントと例題
2章「コーディング規約」からは本番40問中2問が出ます。PEP 8 の具体的な数値と、それを機械的にチェックするツールの役割分担を問う章です。
- PEP 8
- PEP 257
- flake8
- black
- isort
- docstring
この章の出題数と位置づけ
2章「コーディング規約」からは本番40問のうち2問が出題されます。 全体に占める割合は5.0%で、15章中6番目タイの出題数です(同じ2問の章が他に7章あります)。 合格に必要なのは28問正解(12問まで不正解可)なので、 この章の2問をどこまで取りに行くかは、他の章との兼ね合いで決めるのが現実的です。
対策のポイント
- インデントは半角スペース4つ、1行は79文字、docstring とコメントは72文字。数値そのものが選択肢になります。
- 80文字ではなく79文字、という紛らわしい所が狙われます。black の既定は88文字ですが、これは PEP 8 の値ではありません。
- flake8 は指摘するだけ、black は書き換える、isort は import 順を直す、という役割の違いを区別します。
- docstring の書き方(PEP 257)と、命名規則(クラスは CapWords、関数・変数は snake_case、定数は大文字)も範囲です。
この章の例題(2問)
当サイトで実際に出題している問題から2問を、正解と解説つきで掲載します。 すべて自作のオリジナル問題で、実際の試験問題ではありません。
例題1. PEP 8 が推奨するインデントはどれか。
- 正解半角スペース4つ
- タブ1つ
- 半角スペース2つ
- タブ4つ
解説: PEP 8 はインデントレベルごとに半角スペース4つを推奨。タブとスペースの混在は Python 3 では TabError になる。
例題2. PEP 8 が定める1行の最大文字数はどれか。
- 正解79文字
- 80文字
- 100文字
- 120文字
解説: コードは79文字、docstring とコメントは72文字が PEP 8 の上限。80と紛らわしいので確実に79で覚えること。black は既定88文字だが、それは PEP 8 の値ではない。
この章は当サイトに全2問を収録しています。残りはドリルの「章別に解く」から解けます。