如何在 Python 中获取枚举值

在 Python 中获取枚举值

How to get Enum values in Python

要在 Python 的枚举中获取值:

  1. 使用点表示法访问特定的枚举成员,例如Color.GREEN.
  2. 访问value枚举成员的属性,例如Color.GREEN.value
主程序
from enum import Enum class Color(Enum): RED = 'stop' GREEN = 'go' YELLOW = 'get ready' print(Color.GREEN.value) # 👉️ 'go' print(Color['GREEN'].value) # 👉️ 'go' print(Color.RED.value) # 👉️ 'stop' print(Color['RED'].value) # 👉️ 'stop'
您可以使用枚举成员的namevalue属性来获取枚举的名称和值。
主程序
from enum import Enum class Color(Enum): RED = 'stop' GREEN = 'go' YELLOW = 'get ready' print(Color.GREEN.value) # 👉️ 'go' print(Color.GREEN.name) # 👉️ 'GREEN'

您还可以使用方括号访问枚举成员。

主程序
from enum import Enum class Color(Enum): RED = 'stop' GREEN = 'go' YELLOW = 'get ready' name = 'GREEN' print(Color[name].value) # 👉️ 'go' print(Color['GREEN'].value) # 👉️ 'go'
当您事先不知道枚举成员的名称时(因为它是从文件中读取或从 API 中获取的),这很有用。

您可以使用列表理解来检查特定值是否在枚举中。

主程序
from enum import Enum class Color(Enum): RED = 'stop' GREEN = 'go' YELLOW = 'get ready' values = [member.value for member in Color] print(values) # 👉️ ['stop', 'go', 'get ready'] if 'go' in values: # 👇️ this runs print('go is in values')

列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。

in 运算符
测试成员资格

例如,如果是 的成员,则
x in l计算为 ,否则计算为TruexlFalse

for如果需要遍历枚举,可以使用简单循环。

主程序
from enum import Enum class Color(Enum): RED = 'stop' GREEN = 'go' YELLOW = 'get ready' for color in Color: print(color) print(color.name, color.value)

发表评论