我是靠谱客的博主 酷炫草丛,这篇文章主要介绍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模拟enum枚举类型的方法小结的全部内容,更多相关python模拟enum枚举类型内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(128)

评论列表共有 0 条评论

立即
投稿
返回
顶部