from enum import Enum
class VIP(Enum):
YELLOW = 1
GREEN = 2
RED = 3
BLACK = 4
print(VIP.YELLOW)
结果为VIP.YELLOW
1.枚举类型,枚举名字,枚举的值
VIP.GREEN.value 获取值
VIP.GREEN.name 获取标签 #类型是str
VIP.YELLOW #类型是枚举类型 enum‘VIP’
2.枚举比较
VIP.GREEN == 2
VIP.GREEN == VIP.BLACK #支持等值比较
VIP.GREEN > VIP.BLACK #不支持大小比较 VIP.GREEN is VIP.GREEN #支持身份确认
3.注意事项
3.1不能有相同标签
YELLOW = 1
YELLOW = 1 #两个YELLOW不可以
但是
YELLOW = 1
GYBH = 1 #两个值相同可以, 但是GYBH只能算是 YEOLLOW的别名(应该是指向相同的内存空间)
想要遍历到别名的话要这么写
for v in VIP._members__.items():
print(v)
输出结果为元组
for v in VIP._members__:
print(v)
输出结果为YELLOW = 1 …
3.2
a=1
print(VIP(a))
结果为 VIP.YELLOW
3.3
from enum import IntEnum,unique
IntEnum要求枚举的数值必须是int 类型
unique 要求枚举的数值不能相同