python中没有enum枚举类型,可能python认为这玩意压根就没用,下面列举了三种方法模拟enum枚举类型
![图片[1]-Python中有枚举类型吗?-uusu优素-乐高,模型,3d打印,编程](http://uusucn.zbbe.cn/wp-content/uploads/2024/01/5d04596a7e9ac818.jpg)
方法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



















































暂无评论内容