# -*- coding: utf-8 -*-
from enum import Enum, unique
# 1. 枚举的定义
# 首先,定义枚举要导入enum模块。
# 枚举定义用class关键字,继承Enum类。
# 2. 如果要限制定义枚举时,不能定义相同值的成员。
# 可以使用装饰器@unique【要导入unique模块】
@unique
class SayDuck(Enum):
BlackDuck = 1
RedDuck = 2
YelloDuck = 3
PinkDuck = 4
if __name__ == '__main__':
#3. 获取枚举值方式
#3.1 通过成员值来获取成员
print(SayDuck(1))
#3.2 通过成员的名称来获取成员
print(SayDuck['BlackDuck'])
#3.3 通过成员,来获取它的名称和值
print(SayDuck(1).name,SayDuck(1).value)
#4. 枚举支持迭代器
for n in SayDuck:
print(n)
print(n.value)
#5. 如果枚举有值重复的成员,循环遍历枚举时只获取值重复成员的第一个成员
#5.1 如果想把值重复的成员也遍历出来,要用枚举的一个特殊属性__members__
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/python/282386.html