枚举和普通类相比有什么优势

假如没有枚举类型, 怎么可以体现枚举的功能呢?

# 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.

results matching ""

    No results matching ""