auto
次のコードを実行したときの出力として、正しいものを1つ選べ。
from enum import Enum, auto
class C(Enum):
A = auto()
B = auto()
print(list(C), C.B.value)
- A
[<C.A: 0>, <C.B: 1>] 1 - B
[A, B] 2 - C
[1, 2] 2 - D
[<C.A: 1>, <C.B: 2>] 2
正解と解説を見る
正解:D
enum.auto() は、メンバーの値を自動で連番にする。list(Enum クラス) で全メンバーを取り出せる。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `from enum import Enum, auto` | — |
| 2 | `class C(Enum):` | — |
| 3 | └ `A = auto()` | A = 1 |
| 4 | └ `B = auto()` | B = 2 |
| 5 | `print(list(C), C.B.value)` | — |
| 結果 | 実際の出力 | [<C.A: 1>, <C.B: 2>] 2 |
- A
誤り。
auto()は 1 から始まる。 - B
誤り。
Enumのメンバーの表示は<クラス.名前: 値>。 - C
誤り。メンバーは値そのものではなく、
Enumのオブジェクト。 - D
正しい。
auto()は、1 から始まる連番を自動で割り当てる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。