Enum in Python
-
Aufzählung in Python Verwenden des Moduls
enum
- Implementieren Sie Enum in Python mithilfe einer regulären Klassensyntax
In diesem Tutorial werden verschiedene Methoden zur Verwendung oder Implementierung der Aufzählung
in Python untersucht. Die Aufzählung
oder Aufzählung ist ein spezieller Klassentyp, der eine Menge benannter Konstanten vom numerischen Typ darstellt. Jede benannte Konstante im Typ enum
hat einen eigenen ganzzahligen Wert, der von der benannten Konstantenposition der Menge abhängt.
Der Typ enum
wird verwendet, um die Konstantennamen der Menge von Ganzzahlwerten in vielen Programmiersprachen wie C#, Java, Go, C und C++ usw. zuzuweisen. Wir können den Aufzählungstyp in Python mithilfe der folgenden Methoden implementieren und verwenden werden unten erklärt.
Aufzählung in Python Verwenden des Moduls enum
Das Python-Modul enum
verfügt über vier Klassen: Enum
, IntEnum
, Flag
und IntFlag
. Weitere Informationen zum Modul und zu den Klassen finden Sie unter Link.
In der Klasse Enum
ist der Wert jeder Namenskonstante standardmäßig eine Ganzzahl, aber wir können auch Datentypen wie Zeichenkette oder Float usw. übergeben. Die Werte der Namenskonstanten der Klasse IntEnum
können, wie der Name schon sagt Sei nur eine ganze Zahl.
Wir können die Aufzählung in Python mit den Klassen Enum
und IntEnum
erstellen und verwenden. Die folgenden Beispielcodes zeigen, wie diese Klassen verwendet werden, um verschiedene Arten von Enumeratoren in Python zu implementieren.
Einfacher Enumerator:
from enum import Enum
Names = Enum("Names", ["Waiz", "Tom", "Sara", "Lee"])
Wir können den Iterator des Paares (Name, Wert)
verwenden, um bestimmte Werte mit jedem Namen zu speichern, der ID oder Markierungen usw. der Namenskonstanten darstellt. Wir können auf den Wert und den Namen der Namenskonstante zugreifen, indem wir Enum.nameconstant.value
verwenden, um auf Werte zuzugreifen, und Enum.nameconstant.name
, um auf Namen zuzugreifen.
Wir können dies in Python mit dem folgenden Beispielcode tun.
from enum import Enum
Names = Enum("Names", [("Waiz", 8), ("Tom", 5), ("Sara", 7), ("Lee", 6)])
print(Names.Sara.value)
print(Names.Waiz.name)
Ausgabe:
7
Waiz
Eine andere Möglichkeit, einen Enumerator zu erstellen, besteht darin, die Klassensyntax zu verwenden und dann die Enum
oder IntEnum
zu übergeben, wie im folgenden Beispielcode gezeigt:
from enum import IntEnum
class Student(IntEnum):
Waiz = 1
Ali = 2
John = 3
Lee = 4
print(Student.Lee.value)
Ausgabe:
4
Implementieren Sie Enum in Python mithilfe einer regulären Klassensyntax
In Python-Versionen älter als 2.4 ist das Modul Enum
nicht verfügbar. In diesem Fall können wir unsere eigene Klasse des Enumerators Enum
mithilfe der Klassensyntax implementieren.
Wir können die einfache Enumerator-Klasse mit den Standardwerten ab 1
implementieren, wie in der Enum
-Klasse des enum
-Moduls, wie im folgenden Beispielcode gezeigt:
class Zoo:
Lion, Tiger, Cheetah, Leopard = range(1, 5)
print Zoo.Lion
Ausgabe:
1