Home > Article > Backend Development > What are python enumeration types? A brief introduction to python enumeration types
This article brings you what is the Python enumeration type? A brief introduction to python enumeration types has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
1: Definition of enumeration type
2: The difference between enumeration classes and ordinary classes
1: Values are immutable
2: It has the function of preventing the same label from changing the value of different labels It can be the same!
Three: Enumeration type, enumeration value, enumeration name
1: VIP.YELLOW.Value Get the value of the tag
2: VIP.BLACK.name Get the tag name
3 : The parts in the enumeration are enumeration types!
Four: Comparison between enumerations
1: Supports equality comparison and is, does not support size comparison
2: Comparison between different enumeration classes
5 : Notes on enumeration
When the values of different tags are the same, the second one will be used as an alias and will be overwritten when called!
It will not be printed when traversing. The solution is:
for v in VIP.__members__.items(): print(v)
6: Enumeration conversion
Remove the value corresponding to a certain value from the database (a = 1), Match the type of the enumeration based on the value of a
a = 1 print(VIP(a))
Seven: Others
1: IntEnum type description: The enumerations are all of int type!
2: Limit the values of enumeration types to not be the same
# ----------------------------------------------# # 定义一个枚举类型 # ----------------------------------------------# from enum import Enum from enum import IntEnum, unique class VIP(Enum): YELLOW = 1 GREEN = 2 BLACK = 3 RED = 4 class 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 Enum print("name = ", VIP.BLACK.name) # get value of Name,the type of name is str print(VIP.BLACK) # 名字为枚举类型 print(VIP['BLACK']) # 枚举可以被遍历 for v in VIP: print(v) # ----------------------------------------------# # 枚举之间的比较,支持等值比较,不支持大小比较 # ----------------------------------------------# result1 = VIP.GREEN == VIP.BLACK result2 = VIP.GREEN.value == 2 # 注意这里的结果 print(result1, result2) class VIP1(Enum): YELLOW = 1 GREEN = 2 BLACK = 3 RED = 4 WRITE = 5 result3 = VIP.GREEN == VIP1.GREEN print(result3) # ----------------------------------------------# # 枚举注意事项 # ----------------------------------------------# class VIP2(Enum): YELLOW = 1 GREEN = 1 # 别名 BLACK = 3 RED = 4 for v in VIP2: print(v) for v in VIP2.__members__.items(): print(v) for v in VIP2.__members__: print(v) # ----------------------------------------------# # 枚举转换 # ----------------------------------------------# a = 1 print(VIP(a)) # 可以看做是类型转换 # ----------------------------------------------# # 枚举补充 # ----------------------------------------------# # 1:IntEnum类型说明 class VIP3(Enum): YELLOW = 1 GREEN = "str" # 别名 BLACK = 3 RED = 4 class VIP4(IntEnum): YELLOW = 1 # GREEN = 'str' # 字符串报错 BLACK = 3 RED = 4 # 2:限制枚举类型的值不能一样 @unique class VIP6(Enum): YELLOW = 1 GREEN = 1 # 当值相同的时候会报错! BLACK = 3 RED = 4
The above is the detailed content of What are python enumeration types? A brief introduction to python enumeration types. For more information, please follow other related articles on the PHP Chinese website!