我们在使用Enum定义枚举类型,枚举的成员不是整型,所以在做比较时不能使用如大于号(">"),小于号(“
Python新增了IntEnum,IntEnum是允许和整型做比较,包括大小比较和值得相等比较。
创建IntEnum
定义IntEnum首先要导入IntEnum>>>from enum import IntEnum
和Enum一样,IntEnum也有两种方式创建:基于class和基于Function API。
基于class创建IntEnum>>> from enum import IntEnum
>>> class Shape(IntEnum):
... circle = 1
... square = 2
...
基于Function API创建IntEnum>>>from enum import IntEnum
>>>Shape = IntEnum('Shap','circle square')
比较IntEnum>>> Shape.circle == 1
True
>>> Shape.circle
True
和别的IntEnum类型比较>>>Color = IntEnum('Color','red green blue')
>>>Shape.circle == Color.red
True
可以看出,IntEnum的枚举做比较时,比较的是它们的值,即使是两个不同的IntEnum枚举类型,只要它们的值相等,那么就是两个类型的成员相等。