Python3枚举类型详解
- 2019-01-06 22:13:42
- 开发
- 29
- shevechco
补一下python基础知识,枚举类型的详解,以及python中枚举的方法。
首先我们需要知道什么叫枚举,以下我个人总结
枚举一般就是把一个集合中对象一个个列举出来
例如python中字典可以利用键值的关系枚举
01.enum1 = {02. "name":"yang.su",03. "pickname":"merci",04. "alias":"shevechco"05.}06.print(enum1['name'])
使用python类也可以进行枚举
01.class test_enum():02. name = "yang.su",03. pickname = "merci",04. alias = "shevechco"05.print(test_enum.pickname)
上面的例子套用百度的原文来说有三个问题
一是枚举的变量可以被修改,这个使我们不想看到的
二是枚举的对象可以被实例化
三是枚举的类型有可能有重复
解决以上问题,我们可以使用python的Enum类来解决
我们导入Enum
01.class test_enum(Enum):02. name = "yang.su"03. pickname = "merci"04. alias = "shevechco"05. name = "test"
再执行调试发现报错
我们使用unique也可以检测重复枚举名
01.@unique02.class test_enum():03. name = "yang.su"04. pickname = "merci"05. alias = "shevechco"06. name = "test"
枚举成员包含了两个属性:name和value分别可以获取枚举成员名和枚举成员值
01.from enum import Enum,unique02.class test_enum(Enum):03. name = "yang.su"04. pickname = "merci"05. alias = "shevechco"06.print(test_enum.name.name)07.print(test_enum.name.value)08.print(test_enum("merci"))
我们也可以通过枚举成员值获取枚举成员名,上面打印结果如下
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.sulao.cn/post/624