python有枚举类型吗?
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培训之有枚举类型吗?,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
猜你喜欢LIKE
相关推荐HOT
更多>>为什么Python爬虫使用MongoDB?
想必大家都知道,在从事网络爬虫工作之前,我们需要掌握很多知识,除了基本的爬虫原理之外,我们还需要学习框架、数据库等,其中就包含MongoDB...详情>>
2023-11-07 23:02:10python如何进行类型转换的
python提供了将变量或值从一种类型转换成另一种类型的内置函数。1、int:将符合数学格式数字型字符串转换成整数。>>>int('123')1232、s...详情>>
2023-11-07 18:51:20python怎么生成随机数
以下实例演示了python如何生成一个随机数:#生成0~9之间的随机数#导入random(随机数)模块importrandomprint(random.randint(0,9))执行以上代码...详情>>
2023-11-07 17:09:17python如何删除空格
python中的字符串方法提供了如下常用的方法来删除空白:strip():删除字符串前后的空白。lstrip():删除字符串前面(左边)的空白。rstrip():删...详情>>
2023-11-07 14:57:44