python有枚举类型吗?

来源:千锋教育
发布时间:2023-11-10 21:25:50
分享

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培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python偏函数如何理解 python偏函数如何理解1、偏函数,是对原始函数的二次封装,是将现有函数的部分参数预先绑定到指定值,从而获得新的函数。2、定义偏函数,需要使用partial关键字(位于functools模块中。语法
  • python字符串字面量是什么 1、Python使用单引号(')、双引号(')、三重单引号('''')和三重双引号(""")来表示字符串字面量。2、字符串字面量需要使用相同类型的引号。
  • python__new__()和__init__()有什么区别? 在python中,__new__()不是一定要有,只有继承自object的类才有,该方法可以return父类(通过super(当前类名,cls).__new__())出来的实例,或者直接是object
  • pythonimport是怎么实现的? 基本概念:模块(module):其实就是一个py文件,里面定义了各种变量,函数,类。模块除了内建模块(可以用过dir(__builtins__)查看有哪些内建函数),就是非内建模块,这一部分模块就需要
  • pythonpython是如何编译运行的 这里的解释执行是相对于编译执行而言的。我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就可
  • pythonPython可以用来做什么? Python技术可做web开发很多人只知道Java、PHP可做web开发,但对于Python也能做web开发却知之甚少。很多人可能不知道,Python其实是和互联网一起长大的。作为动态语言,并且具有更