python3 11

人生苦短,我用Python

PythonEnum枚举的实现:http://www.cnblogs.com/codingmylife/archive/2013/05/31/3110656.html

定义常量的一般方法:定义变量
推荐的方法为:将枚举类型定义一个class类型。每个常量都是class的唯一实例
python提供了Enum来实现枚举功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

from enum import Enum

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

# 实现方式2
from enum import Enum, unique

# @unique装饰器检查保证没有重复值

class (Enum):
Sun = 0
Mon = 1
Tue = 2
Wed = 3
Thu = 4
Fri = 5
Sta = 6

# 遍历Enum
for name, value in Week.__members__.items():
print(name, value, m.value)

print(Week.Mon.value) # 1

"""
Mon WeekInfo.Mon 1
Tue WeekInfo.Tue 2
Wed WeekInfo.Wed 3
Thu WeekInfo.Thu 4
Fri WeekInfo.Fri 5
Sat WeekInfo.Sat 6
Sun WeekInfo.Sun 7
"""

# 使用MyEnum02
print(MyEnum02(1)) # MyEnum02.Mon