Enum in Python

Muhammad Waiz Khan 30 Januar 2023
  1. Aufzählung in Python Verwenden des Moduls enum
  2. Implementieren Sie Enum in Python mithilfe einer regulären Klassensyntax
Enum in Python

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