在Python中enum代码的使用使用是怎样
Admin 2022-08-13 群英技术资讯 631 次浏览
为什么要使用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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
imagecolorexactalpha-取得指定的颜色加透明度的索引值。小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希望对大家学习或工作能有帮助。
PHP下Ajax跨域如何解决?很多PHP新手都会遇到Ajax跨域问题,但是不知道要如何解决,对此,这篇文章就给就大家分享三种方法。感兴趣的朋友就继续往下看吧。
在本篇文章里小编给大家整理了一篇关于php substr()去掉最后一位字符的实例方法,有兴趣的朋友们可以跟着学习下。
一、简介自PHP5起完全重写了对象模型以得到更佳性能和更多特性。这是自PHP4以来的最大变化。PHP5具有完整的对象模型。PHP5中的新特性包括访问控制,抽象类和 ...
在之前的文章中给大家带来了《PHP中获取时间的方法总结(实例详解)》,其中详细的给大家介绍了PHP中获取时间的5种方法,本篇文章我们继续来看一看PHP中应该怎样去将时间日期格式化和怎样去计算时间差,希望对大家有帮助!
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008