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单例模式的应用场景
python单例模式的应用场景1、应用场景需要频繁创建和销毁的对象;创建花费太多时间或资源,但经常使用的对象;工具类对象;经常访问数据库或文件的...详情>>
2023-11-14 18:58:38
python在协程中增加任务
python在协程中增加任务1、添加一个任务task2=visit_url('http://another.com',3)asynicio.run(task2)2、这2个程序一共消耗5...详情>>
2023-11-14 17:58:42
python如何使用python绘制折线图?
使用python绘制折线图过程1、导入库和设置输入折线图数据importnumpyasnpimportmatplotlib.pyplotasplt#x轴刻度标签x_ticks=['a'...详情>>
2023-11-14 16:51:40
python进程的交流方式
python进程的交流方式1、说明进程之间的第一种交流方式——队列。multiprocessing模块中提供了multiprocessing.Queue,它和Queue.Queue的区别在...详情>>
2023-11-14 14:13:29热门推荐
技术干货






