导语:
本文主要介绍了关于Python中有枚举类型吗?的相关知识,包括怎么打印枚举类型中的值,以及python 枚举这些编程知识,希望对大家有参考作用。
python中没有enum枚举类型。可能python觉得这个东西根本没用。下面列举三种模拟enum枚举类型的方法
方法1. 使用自定义类
class Numbers(object):
ONE = 1
TWO = 2
THREE = 3
assert Numbers.ONE == 1
assert Numbers.TWO == 2
assert Numbers.THREE == 3
方法2:使用函数动态创建类
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的集合扩展来的对象
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大神用9个实用技巧分享给大家11/17
- ♥ python如何处理excel08/17
- ♥ 如何将元素添加到python列表11/06
- ♥ python TextTestRunner如何生成测试报告12/25
- ♥ 是python跨平台吗08/25
- ♥ python带参数__init__的使用10/08
内容反馈