python枚举使用
from enum import Enum class Week(Enum): Mon = "星期一" Tues = "星期二" Wed = "星期三" # 直接类.变量名方式调用 print(Week.Mon.name) # Mon print(Week.Mon.value) # 星期一 print(Week['Mon']) # Week.Mon print(Week("星期一")) # Week.Mon
枚举相关文档 https://docs.python.org/zh-cn/3/library/enum.html
枚举作用 https://www.cnblogs.com/dream08/p/12987037.html
在Python使用枚举需要从enum
模块下导入Enum
类
from enum import Enum
Week = Enum("Week", ("Mon", "Tues", "Wed", "Thur", "Fri", "Sat", "Sun")) # 注意枚举成员是元组
可以利用Enum
特殊属性 __members__
和for .in
遍历枚举成员,返回是一个字典
for member in Week.__members__.items():
print(member)
程序输出
('Mon', <Week.Mon: 1>)
('Tues', <Week.Tues: 2>)
('Wed', <Week.Wed: 3>)
('Thur', <Week.Thur: 4>)
('Fri', <Week.Fri: 5>)
('Sat', <Week.Sat: 6>)
('Sun', <Week.Sun: 7>)
因此,枚举成员的枚举值默认是从0开始的,如果要自定义枚举值,可以自己的枚举类,只需要继承Enum
即可
class Week(Enum):
Mon = "星期一"
Tues = "星期二"
Wed = "星期三"
# 直接类.变量名方式调用
print(Week.Mon.value) # 星期一