定数の置き場所
モジュールで使う定数の書き方として、PEP 8 に沿った最も適切なものを1つ選べ。
- A
モジュールの先頭付近(import の後)に、
MAX_RETRY = 3のように、大文字とアンダースコアで書く。 - B
関数の途中に、小文字で
max_retry = 3と直接書く。 - C
すべての定数を、1 つの長い名前の変数にまとめる。
- D
定数は使わず、数値をコードのあちこちに直接書く。
正解と解説を見る
正解:A
定数は、大文字とアンダースコアで名前を付け、モジュールの先頭付近にまとめる。意味のある名前を付けて、マジックナンバーを避ける。
| 対象 | 推奨 | 例 |
|---|---|---|
| 変数・関数・メソッド | lower_case_with_underscores | user_name |
| クラス・例外 | CapWords(例外は末尾にError、略語は大文字のまま) | UserProfile / ValueError / HTTPServerError |
| 型変数 | 短い CapWords | T / KT / VT |
| 定数 | UPPER_CASE_WITH_UNDERSCORES | MAX_SIZE |
| モジュール | 短い小文字(アンダースコアも可) | utils |
| パッケージ | 短い小文字(アンダースコアは非推奨) | mypackage |
| 非公開(内部用) | 先頭にアンダースコア1つ | _cache |
| キーワードと衝突する名前 | 末尾にアンダースコア1つ | class_ |
| メソッドの第1引数 | インスタンスは self、クラスメソッドは cls | def m(self) / def c(cls) |
| 避ける1文字の名前 | l(エル)、O(オー)、I(アイ) | 紛らわしいため |
- A
正しい。変更の場所が分かりやすい。
- B
誤り。定数と分かりにくい。
- C
誤り。読みにくい。
- D
誤り。マジックナンバーは避ける。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。