python如何定义枚举类型

python如何定义枚举类型

作者:Rhett Bai发布时间:2026-01-06阅读时长:0 分钟阅读次数:10

用户关注问题

Q
Python中如何创建一个枚举类?

我想在Python代码里定义一个枚举类型,该怎么写出一个基础的枚举类?

A

使用enum模块定义枚举类

Python里通过导入标准库中的enum模块,可以很方便地定义枚举类型。你需要继承enum.Enum类,然后将枚举成员作为类属性赋值,例如:

from enum import Enum

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

这样Color就是一个枚举类,包含了RED、GREEN、BLUE三个枚举成员。

Q
如何访问Python枚举类型中的成员及其值?

定义好Python的枚举类后,我要怎么获取其中的成员名或者对应的值?

A

使用枚举成员名和value属性访问

可以通过指定成员名直接访问枚举成员,比如Color.RED,枚举成员还拥有name属性和value属性,分别表示成员的名字和对应的值。示例:

print(Color.RED)         # 输出 Color.RED
print(Color.RED.name)    # 输出 'RED'
print(Color.RED.value)   # 输出 1
Q
Python枚举类型支持哪些常用功能?

Python中定义的枚举类型可以进行比较操作吗?是否能遍历所有枚举成员?

A

枚举支持比较及遍历等操作

Python的枚举成员是单例,支持相等比较,可以使用循环遍历所有成员。你可以用for循环遍历枚举类获得所有成员,也可以用is比较枚举成员。例如:

for color in Color:
    print(color.name, color.value)

if Color.RED is Color.GREEN:
    print('相等')
else:
    print('不相等')

这会列出所有颜色名称和值,并判断两个枚举成员是否相同。