为了便于定义一些枚举类型的常量,比如月份,周数等等,使用枚举类比较合适。
from enum import Enum, unique
# 默认枚举值从1开始自增,每个常量('Jan',...)都是class Month的唯一实例
Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
print(Month.Jan.value)
for item in Month:
# Month.JAN 1
print(item, item.value)
# 自定义枚举值,
# @unique装饰器可以检测重复值,如果有重复值会抛出异常ValueError: duplicate values found in...
@unique
class Weekday(Enum):
Sun = 0
Mon = 1
Tue = 2
Wed = 3
Thu = 4
Fri = 5
Sat = 6
# 不同取值方式
sun1 = Weekday.Sun
sun2 = Weekday['Sun']
# 唯一实例,所以为True
print(sun1 == sun2)
网友评论