[Python-Dev] Enum: subclassing?

Barry Warsaw barry at python.org
Thu May 2 17:23:56 CEST 2013


On May 01, 2013, at 08:47 PM, Georg Brandl wrote:
>Wait a moment... it might not be immediately useful for IntEnums (however,
>that's because base Enum currently defines __int__ which I find questionable),

And broken. And unnecessary. :)
>>> class Foo(Enum):
... a = 'a'
... b = 'b'
... 
>>> int(Foo.a)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: __int__ returned non-int (type str)
...remove Enum.__int__()...
>>> class Bar(int, Enum):
... a = 1
... b = 2
... 
>>> int(Bar.a)
1
So yes, Enum.__int__() should be removed.
-Barry


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /