1、枚举:Enum
枚举:可以表示各种不同的类型。
枚举的意义重在标签,而不在其值。
枚举特点:不可变。如有相同值,则第二个枚举名称是别名。
2、枚举类型、枚举名称、枚举值
from enum import Enum # 创建一个VIP类,继承Enum类 class VIP(Enum): YELLOW = 1 GREEN = 2 BLACK = 3 RED = 4 # 枚举类型 print(VIP.YELLOW) # 枚举值 print(VIP.YELLOW.value) # 枚举名称 print(VIP.YELLOW.name)
输出结果:
VIP.YELLOW
1
YELLOW
枚举可以进行遍历
3、枚举转换
from enum import Enum # 创建一个VIP类,继承Enum类 class VIP(Enum): YELLOW = 1 GREEN = 2 BLACK = 3 RED = 4 # 枚举类型转换,可以使用VIP(a)来转换 a = 1 print(VIP(a))
输出结果:
VIP.YELLOW
通过转换后,后续需要进行判断时,可以直接使用VIP(a)。
4、枚举小结
from enum import Enum from enum import IntEnum # 创建一个VIP类,继承IntEnum类,枚举值里面包含字符串 class VIP(IntEnum): YELLOW = 1 GREEN = 'ss' BLACK = 3 RED = 4
结论:运行错误,IntEnum要求枚举值必须为int
from enum import Enum from enum import IntEnum, unique # 创建一个VIP类,继承IntEnum类 @unique class VIP(IntEnum): YELLOW = 1 GREEN = 1 BLACK = 3 RED = 4
结论:运行错误,引用unique后,枚举值如果相同,则报错。