猿问

Python中Enum和IntEnum的区别

我遇到了一个看起来像这样的代码:


class State(IntEnum):

    READY = 1

    IN_PROGRESS = 2

    FINISHED = 3

    FAILED = 4

我得出的结论是,这个 State 类可以Enum用同样的方式继承这个类。


继承自给IntEnum了我从常规类继承Enum不会的什么?它们之间有什么区别?


明月笑刀无情
浏览 287回答 3
3回答

慕后森

IntEnum 用于确保成员必须是整数,即class State(IntEnum):  READY = 'a'  IN_PROGRESS = 'b'  FINISHED = 'c'  FAILED = 'd'这将引发异常:ValueError: invalid literal for int() with base 10: 'a'
随时随地看视频慕课网APP

相关分类

Python
我要回答