python模拟enum枚举类型的方法小结
本文实例总结了python模拟enum枚举类型的方法。分享给大家供大家参考。具体分析如下:
python中没有enum枚举类型,可能python认为这玩意压根就没用,下面列举了三种方法模拟enum枚举类型
方法1.使用自定义类
classNumbers(object): ONE=1 TWO=2 THREE=3 assertNumbers.ONE==1 assertNumbers.TWO==2 assertNumbers.THREE==3
方法2:使用函数动态创建类
defenum(**enums):
returntype('Enum',(object,),enums)
Numbers=enum(ONE=1,TWO=2,THREE=3)
assertNumbers.ONE==1
assertNumbers.TWO==2
assertNumbers.THREE==3
方法3:创建一个从python的集合扩展来的对象
classEnum(set):
def__getattr__(self,name):
ifnameinself:
returnname
raiseAttributeError
Numbers=Enum("ONETWOTHREE".split())
error=False
try:
printNumbers.ONE
printNumbers.TWO
printNumbers.THREE
except:
error=True
asserterror==False
try:
printNumbers.FOUR
except:
error=True
asserterror==True
希望本文所述对大家的python程序设计有所帮助。
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短