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程序设计有所帮助。