python模拟enum枚举类型的方法小结
更新时间:2015年04月30日 11:26:29 作者:重负在身
这篇文章主要介绍了python模拟enum枚举类型的方法,实例总结了python模拟enum枚举类型的相关技巧,非常具有实用价值,需要的朋友可以参考下
本文实例总结了python模拟enum枚举类型的方法。分享给大家供大家参考。具体分析如下:
python中没有enum枚举类型,可能python认为这玩意压根就没用,下面列举了三种方法模拟enum枚举类型
方法1. 使用自定义类
1 2 3 4 5 6 7 | class Numbers( object ): ONE = 1 TWO = 2 THREE = 3 assert Numbers.ONE = = 1 assert Numbers.TWO = = 2 assert Numbers.THREE = = 3 |
方法2:使用函数动态创建类
1 2 3 4 5 6 | def enum( * * enums): return type ( 'Enum' , ( object ,), enums) Numbers = enum(ONE = 1 , TWO = 2 , THREE = 3 ) assert Numbers.ONE = = 1 assert Numbers.TWO = = 2 assert Numbers.THREE = = 3 |
方法3:创建一个从python的集合扩展来的对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class Enum( set ): def __getattr__( self , name): if name in self : return name raise AttributeError Numbers = Enum( "ONE TWO THREE" .split() ) error = False try : print Numbers.ONE print Numbers.TWO print Numbers.THREE except : error = True assert error = = False try : print Numbers.FOUR except : error = True assert error = = True |
希望本文所述对大家的python程序设计有所帮助。
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
相关文章
python处理自动化任务之同时批量修改word里面的内容的方法
在本篇文章里小编给各位整理的是一篇关于利用python处理自动化任务之同时批量修改word里面的内容的文章,需要的可以参考学习下。2019-08-08Python Counting Bloom Filter原理与实现详细介绍
这篇文章主要介绍了Python Counting Bloom Filter原理与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2022-10-10Linux安装Pytorch1.8GPU(CUDA11.1)的实现
这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03
最新评论