枚举类

常量一般用大写来定义,但是有相关关系的一组常量一般都是使用类来定义,每个常量都是类的唯一实例。Python在这里提供了枚举类来辅助完成这项工作。

以下给出一个示例。

from enum import Enum

Weekday = Enum('Weekday', ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'))

print(Weekday.Mon) # 访问成员
# 迭代成员
for name, member in Weekday.__members__.items():
	print("{} => {}".format(name, member))

也可以使用以下方法来精确控制枚举类的定义。

from enum import Enum, unique

# @unique可以用来保证没有重复值出现
@unique
class Weekday(Enum):
	Sun = 0
	Mon = 1
	Tue = 2
	Wed = 3
	Thu = 4
	Fri = 5
	Sat = 6