补一下python基础知识,枚举类型的详解,以及python中枚举的方法。
首先我们需要知道什么叫枚举,以下我个人总结
枚举一般就是把一个集合中对象一个个列举出来
例如python中字典可以利用键值的关系枚举
enum1 = { "name":"yang.su", "pickname":"merci", "alias":"shevechco" } print(enum1['name'])
使用python类也可以进行枚举
class test_enum(): name = "yang.su", pickname = "merci", alias = "shevechco" print(test_enum.pickname)
上面的例子套用百度的原文来说有三个问题
一是枚举的变量可以被修改,这个使我们不想看到的
二是枚举的对象可以被实例化
三是枚举的类型有可能有重复
解决以上问题,我们可以使用python的Enum类来解决
我们导入Enum
class test_enum(Enum): name = "yang.su" pickname = "merci" alias = "shevechco" name = "test"
再执行调试发现报错
我们使用unique也可以检测重复枚举名
@unique class test_enum(): name = "yang.su" pickname = "merci" alias = "shevechco" name = "test"
枚举成员包含了两个属性:name和value分别可以获取枚举成员名和枚举成员值
from enum import Enum,unique class test_enum(Enum): name = "yang.su" pickname = "merci" alias = "shevechco" print(test_enum.name.name) print(test_enum.name.value) print(test_enum("merci"))
我们也可以通过枚举成员值获取枚举成员名,上面打印结果如下