枚举和普通类相比有什么优势
假如没有枚举类型, 怎么可以体现枚举的功能呢?
# 1, 最low的方式,变量
yellow = 1
green = 2
# 2. 字典,最贴近枚举的
VIP = {'yellow':1,'green':2}
# 3. 类变量
class VIP():
yello2 = 1
green = 2
'''
类型确定之后,就不能改变
以上的缺陷:
1. 变量
2. 没有防止出现相同值的功能
'''
from enum import Enum
class VIP(Enum):
YELLOW = 1
RED =2
BLACK = 3
PURPLE = 4
VIP.BLACK = 2
尝试更改enum的值会报错,如果定义相同的类变量也会报错
raise AttributeError('Cannot reassign members.')
AttributeError: Cannot reassign members.