python enum

Python enum:枚举

版本:python3.6.4

1.枚举定义

#枚举的定义
from enum import Enum
Month = Enum("Month",('Jan', 'Feb', 'Mar'))

from enum import Enum,unique
@unique
class Weekday(Enum):
	Sun = 0
	Mon = 1
	Tues = 2
	

定义枚举时,都要先导入enum。两者方法获得的都是同一种类

>>> type(Month)
 <class 'enum.EnumMeta'>
>>> type(Weekday)
 <class 'enum.EnumMeta'>

定义枚举时,成员名称不允许重复
默认情况下,不同成员值允许重复。两个相同值的成员,第二个成员的名称被视作第一个成员名称的别称。
限制不能定义相同值的成员。可以使用装饰器@unique(需导入unique模块)

2.枚举取值

#通过名称获取成员
>>> Weekday.Sun
<Weekday.Sun: 0>
#通过值获取成员
>>> Weekday(1)
<Weekday.Mon: 1>
#通过成员获取名称和值
>>> Weekday(1).name
'Mon'
>>> Weekday.Sun.value
0
#遍历成员
>>> for i in Weekday:
		print(i.name,':',i.value)
	
Sun : 0
Mon : 1
Tues : 2
#属性__members__可把值重复的成员也便利出来
>>> for name,member in Weekday.__members__.items():
	print(name,'>',member)

	
Sun > Weekday.Sun
Mon > Weekday.Mon
Tues > Weekday.Tues

枚举成员可进行统一性比较,可进行等值比较,不可进行大小比较。
参考链接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值