本篇文章给大家带来的内容是关于python枚举类型是什么?python枚举类型的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
一:枚举类型的定义
二:枚举类和普通类的区别
1:值不可变
2:具有防止相同标签得功能,不同标签的值可以相同!
三:枚举类型、枚举值、枚举名称
1:vip.yellow.value 获得标签的值
2:vip.black.name 获取标签名称
3:枚举里面的部分为枚举类型!
四:枚举之间的比较
1: 支持等值比较和is, 不支持大小比较
2: 不同枚举类之间的比较
五:枚举的注意事项
不同标签的值相同的时候,第二种会被当做一种别名,调用时会被覆盖!
遍历的时候不会被打印出来,解决方法是:
for v in vip.__members__.items(): print(v)
六:枚举转换
从数据库中去除某一个数值对应的值(a = 1),根据a的值匹配枚举的类型
a = 1print(vip(a))
七:其他
1:intenum类型说明:枚举的都是int类型的!
2:限制枚举类型的值不能一样
# ----------------------------------------------## 定义一个枚举类型# ----------------------------------------------#from enum import enumfrom enum import intenum, uniqueclass vip(enum): yellow = 1 green = 2 black = 3 red = 4class common: yellow = 2# 注意这里显示的是vip.black而不是3,枚举的意义重在标签而不是标签的值print(vip.black)# ----------------------------------------------------## 枚举类和普通类的区别# 字典和普通类封装数据: 1:可变 2:没有防止相同标签得功能# ----------------------------------------------------## vip.green = 6 # 当改变值得时候报错common.yellow = 9 # 改变类变量的值print(common.yellow)x = common() # 类的实例化print(x.yellow)# ----------------------------------------------## 枚举类型、枚举值、枚举名称# ----------------------------------------------#print("black = ", vip.black.value) # get value of enumprint("name = ", vip.black.name) # get value of name,the type of name is strprint(vip.black) # 名字为枚举类型print(vip['black'])# 枚举可以被遍历for v in vip: print(v)# ----------------------------------------------## 枚举之间的比较,支持等值比较,不支持大小比较# ----------------------------------------------#result1 = vip.green == vip.blackresult2 = vip.green.value == 2 # 注意这里的结果print(result1, result2)class vip1(enum): yellow = 1 green = 2 black = 3 red = 4 write = 5result3 = vip.green == vip1.greenprint(result3)# ----------------------------------------------## 枚举注意事项# ----------------------------------------------#class vip2(enum): yellow = 1 green = 1 # 别名 black = 3 red = 4for v in vip2: print(v)for v in vip2.__members__.items(): print(v)for v in vip2.__members__: print(v)# ----------------------------------------------## 枚举转换# ----------------------------------------------#a = 1print(vip(a)) # 可以看做是类型转换# ----------------------------------------------## 枚举补充# ----------------------------------------------## 1:intenum类型说明class vip3(enum): yellow = 1 green = "str" # 别名 black = 3 red = 4class vip4(intenum): yellow = 1 # green = 'str' # 字符串报错 black = 3 red = 4# 2:限制枚举类型的值不能一样@uniqueclass vip6(enum): yellow = 1 green = 1 # 当值相同的时候会报错! black = 3 red = 4
以上就是python枚举类型是什么?python枚举类型的简单介绍的详细内容。