Wie kann ich ein 'Enum' in Python darstellen?

In Python kann man eine Enum (Aufzählung) durch Verwendung des Moduls enum oder durch Erstellen einer Klasse, die von enum.Enum erbt, darstellen. Um das enum-Modul zu verwenden, kann man die Aufzählung mit der Klasse Enum wie folgt definieren:

from enum import Enum

class Farbe(Enum):
    ROT = 1
    GRÜN = 2
    BLAU = 3

Man kann auch die Enum-Werte direkt mit der Enum()-Funktion definieren

from enum import Enum

Farbe = Enum('Farbe', ['ROT', 'GRÜN', 'BLAU'])

Sobald die Aufzählung definiert ist, kann man auf die Aufzählungswerte mit dem Namen der Aufzählung und dem Wert zugreifen, wie hier:

from enum import Enum

Farbe = Enum('Farbe', ['ROT', 'GRÜN', 'BLAU'])

print(Farbe.ROT)

Man kann auch durch alle Werte in der Aufzählung iterieren:

from enum import Enum

Color = Enum('Color', ['RED', 'GREEN', 'BLUE'])

for farbe in Farbe:
    print(farbe)

Man kann auch die value und name Attribute der aufgelisteten Werte verwenden um auf den Namen und den Wert jedes aufgelisteten Werts zugreifen zu können.

from enum import Enum

Color = Enum('Color', ['RED', 'GREEN', 'BLUE'])

print(Farbe.ROT.name) # gibt 'ROT' aus
print(Farbe.ROT.value) # gibt 1 aus