Python中的enum的使用方法
为什么要使用Enum.(Why?)
在普通类别中,枚举和我们在对象中定义的类变量一样的,每一个类变量就是一个枚举项,
访问方式如下:
class HelloWolrd: life = 0 literature = 1 science = 2 math = 3 person = -1 xzh = 0 lq = 3 wj = 2 print(HelloWolrd.lq) HelloWolrd.lq = 9 print(HelloWolrd.lq)
这样的使用方法是存在两个问题的,即:
枚举类中,不应该存在key相同的枚举项(类变量) 不允许在类的外部直接修改枚举项的值
为了解决这个问题,我们考虑使用enum模块.
使用enum
enum模块是系统内置模块,可以直接使用import导入,但是在导入的时候,不建议直接使用import enum将enum模块全部导入,一般使用Enum, IntEnum,unique等.
from enum import Enum class HelloWolrd(Enum): literature = 1 person = -1 xzh = 0 lq = 3 wj = 2 print(HelloWolrd.lq) print(HelloWolrd.lq.value)
使用了Enum后面,有下面的限制:
- 枚举类不能用来实例化对象
- 访问枚举类中的某一项, 直接使用类名加上要访问的项即可, 比如color.YELLOW
- 枚举类里面定义的Key = Value, 在类外部不能修改Value值.
如果在枚举类中的不同的key对应的value也想不同,那么在导入Enum的同时,需要导入unique如果想要value都是Int类型的,可导入IntEnum
到此这篇关于Python中的enum的使用方法的文章就介绍到这了,更多相关Python enum 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python opencv鼠标事件实现画框圈定目标获取坐标信息
这篇文章主要为大家详细介绍了python opencv鼠标事件实现画框圈定目标,获取坐标信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-08-08
最新评论