Was sind Python-Aufzählungstypen? Eine kurze Einführung in Python-Aufzählungstypen

不言
Freigeben: 2018-10-10 16:07:50
nach vorne
2092 Leute haben es durchsucht

In diesem Artikel erfahren Sie, was der Python-Aufzählungstyp ist. Eine kurze Einführung in Python-Aufzählungstypen hat einen gewissen Referenzwert. Ich hoffe, dass sie für Sie hilfreich ist.

Eins: Definition des Aufzählungstyps
Zwei: Der Unterschied zwischen Aufzählungsklasse und gewöhnlicher Klasse
1: Der Wert ist unveränderlich
2: Es hat die Funktion, das gleiche Tag und das zu verhindern Wert verschiedener Tags Es kann derselbe sein!

Drei: Aufzählungstyp, Aufzählungswert, Aufzählungsname
1: VIP.YELLOW.Value Holen Sie sich den Wert des Tags
2: VIP.BLACK.name Holen Sie sich den Tag-Namen
3 : Die Teile in der Aufzählung sind Aufzählungstypen!

Viertens: Vergleich zwischen Aufzählungen
1: Unterstützt Gleichheitsvergleiche und unterstützt keinen Größenvergleich
2: Vergleich zwischen verschiedenen Aufzählungsklassen

Fünf: Hinweise zur Aufzählung
Wenn die Werte verschiedener Tags gleich sind, wird das zweite als Alias ​​​​verwendet und beim Aufruf überschrieben!
Beim Durchlaufen wird es nicht gedruckt. Die Lösung lautet:

for v in VIP.__members__.items():
        print(v)
Nach dem Login kopieren

Sechs: Aufzählungskonvertierung
Entfernen Sie den Wert, der einem bestimmten Wert entspricht, aus der Datenbank (a = 1), Match der Typ der Aufzählung entsprechend dem Wert von a

a = 1
print(VIP(a))
Nach dem Login kopieren

Sieben: Andere
1: IntEnum-Typbeschreibung: Alle Aufzählungen sind vom Typ int!
2: Beschränken Sie die Werte der Aufzählungstypen auf unterschiedliche Werte

# ----------------------------------------------#
# 定义一个枚举类型
# ----------------------------------------------#
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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas sind Python-Aufzählungstypen? Eine kurze Einführung in Python-Aufzählungstypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!