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
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原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容