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"

再执行调试发现报错

TIM截图20190106223254.jpg

我们使用unique也可以检测重复枚举名

01.
@unique
02.
class test_enum():
03.
    name = "yang.su"
04.
    pickname = "merci"
05.
    alias = "shevechco"
06.
    name = "test"

枚举成员包含了两个属性:name和value分别可以获取枚举成员名和枚举成员值

01.
from enum import Enum,unique
02.
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"))

我们也可以通过枚举成员值获取枚举成员名,上面打印结果如下

TIM截图20190106224340.jpg


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.sulao.cn/post/624

相关推荐