Python 模擬試験

PythonZen & PEP 8 模擬試験 第6回 問18・PEP 8 命名規則(命名規則)

定数と Enum

状態を表す値(PENDING・DONE など)の名前の付け方として、PEP 8 の考え方に沿った最も適切なものを1つ選べ。

  1. A

    小文字の変数 pending・done を、あちこちに別々に定義する。

  2. B

    Enum のメンバーや定数として、大文字とアンダースコアで書く(Status.PENDING)。

  3. C

    状態は、数値 0・1・2 を直接書く。

  4. D

    状態の名前は、空白を含めて、"Pending State" のように書く。

正解と解説を見る

正解:B

状態や種類を表す値は、Enum や、大文字の定数でまとめる。意味のある名前を付けて、マジックナンバーを避ける。

PEP 8 の命名規則。
対象推奨例
変数・関数・メソッドlower_case_with_underscoresuser_name
クラス・例外CapWords(例外は末尾にError、略語は大文字のまま)UserProfile / ValueError / HTTPServerError
型変数短い CapWordsT / KT / VT
定数UPPER_CASE_WITH_UNDERSCORESMAX_SIZE
モジュール短い小文字(アンダースコアも可)utils
パッケージ短い小文字(アンダースコアは非推奨)mypackage
非公開(内部用)先頭にアンダースコア1つ_cache
キーワードと衝突する名前末尾にアンダースコア1つclass_
メソッドの第1引数インスタンスは self、クラスメソッドは clsdef m(self) / def c(cls)
避ける1文字の名前l(エル)、O(オー)、I(アイ)紛らわしいため

学習のポイント:enum.auto() で、値を自動で割り当てる。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。