3
のをf
に割り当てます。しかし、その列挙型を反復すると、b
は表示されませんが、まだE.b
経由でアクセスできます。誰がここで何が起こっているのか知っていますか?これは単なるバグですか?私はPython 3.5.1を使用しています。pythonでEnumを反復処理するときにすべての要素が表示されない3
In [42]: from enum import Enum
In [43]: def f(): pass
In [44]: class E(Enum):
...: a = 4
...: b = f
...: c = 5
...:
In [45]: list(E)
Out[45]: [<E.a: 4>, <E.c: 5>]
In [46]: E.b
Out[46]: <function __main__.f>
あなたは列挙型のメンバーとして関数/メソッドを使用するためのユースケースを持っていますか? –
基本的に、コールバックにマップするために名前を使用していました。私はちょうど辞書を使用することができたかもしれませんが、Enumがそのトリックをすると考えました。私は以来、それ以外は学んだ。 – acushner