078、Python 中的枚举类型

初识

在Python中,没有定义枚举类型的语法,但是可以通过继承Enum类来实现枚举类型。所以在Python中的枚举,就是一种特殊的类,用于表示一组常量,这些常量在定义后就不能被改变。

枚举的使用可以使代码更加清晰易读和易于维护,尤其是在定义符号常量或者说是处理一组具有固定含义的数值或字符串时,绝对是最佳选择。

定义

要定义一个枚举类,首先要从enum模块中导入Enum基类:

from enum import Enum

然后让类继承自Enum

class Color(Enum):  
    RED = 1  
    GREEN = 2  
    BLUE = 3  

如上,就定义好了一个枚举类了。

枚举类的成员在定义的时候会自动被赋予一个整数值(默认从1开始),但也可以显式地指定成员的值。

使用

我们可以遍历枚举、获取枚举成员、比较运算等。如:

# 使用枚举  
print(Color.RED)  # 输出: Color.RED  
print(Color.RED.name)  # 输出: RED  
print(Color.RED.value)  # 输出: 1  
  
# 遍历枚举成员  
for color in Color:  
    print(color.name, color.value)  
  
# 通过值获取枚举成员  
color_value = 2  
color_enum = Color(color