枚举类
来源:互联网 发布:linux内核扫描漏洞 编辑:程序博客网 时间:2024/06/04 20:20
1.使用 Enum 类
from enum import Enum
Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
2.使用 Enum 派生自定义类
from enum import Enum, unique
@unique
class Weekday(Enum):
Sun = 0
Mon = 1
Tue = 2
Web = 3
Thu = 4
Fri = 5
Sat = 6
其中 @unique 装饰器可以检查保证没有重复值
访问这些枚举类型可以有若干种方法:
>>> day1 = Weekday.Mon>>> print(day1)Weekday.Mon>>> print(Weekday.Tue)Weekday.Tue>>> print(Weekday['Tue'])Weekday.Tue>>> print(Weekday.Tue.value)2>>> print(day1 == Weekday.Mon)True>>> print(day1 == Weekday.Tue)False>>> print(Weekday(1))Weekday.Mon>>> print(day1 == Weekday(1))True>>> Weekday(7)Traceback (most recent call last): ...ValueError: 7 is not a valid Weekday>>> for name, member in Weekday.__members__.items():... print(name, '=>', member)...Sun => Weekday.SunMon => Weekday.MonTue => Weekday.TueWed => Weekday.WedThu => Weekday.ThuFri => Weekday.FriSat => Weekday.Sat
可见,既可以用成员名称引用枚举常量,又可以直接根据value的值获得枚举常量。
0 0
- 枚举和枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 枚举类
- 承载着老一辈记忆的潮汕,只等着新一代人来欣赏!
- 定制类
- iOS 再次生成一个.app.DSYM
- spring(2)装配Bean
- Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度
- 枚举类
- PRO-1:简易智能停车系统
- 通知栏通知
- 完成端口(Completion Port)详解
- 元类
- gnuradio 数据速率和输出的问题
- linux 下运行 jar包 java.lang.ClassNotFoundException: 解决办法
- 人工神经网络——【BP】反向传播算法证明
- PHP中header的用法总结