0Pricing
Python Academy · Lektion

Die Enum-Klasse

Benannte Konstantengruppen definieren

Die Enum-Klasse ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Enums?

Ein Enum (Aufzählung) ist eine Gruppe benannter Konstantenwerte, die zusammengehören. Statt Zeichenketten oder Zahlen als sogenannte Magic Values im Code zu verstreuen, geben Sie jedem Wert einen eindeutigen Namen.

  • Selbsterklärender Code.
  • Schutz vor Tippfehlern.
  • Eine festgelegte, bekannte Auswahl von Möglichkeiten.

Ein Enum definieren

Leiten Sie eine Klasse von Enum ab und listen Sie die Mitglieder als NAME = value auf. Üblicherweise werden die Namen der Mitglieder großgeschrieben.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

print(Color.RED)

name und value

Jedes Enum-Mitglied besitzt ein .name (den Bezeichner) und ein .value (den zugewiesenen Wert).

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

c = Color.GREEN
print(c.name)
print(c.value)

Mitglieder sind Singletons

Jedes Mitglied ist ein eindeutiges Singleton-Objekt. Vergleichen Sie Mitglieder mit is oder ==; dasselbe Mitglied ist immer exakt dasselbe Objekt.

from enum import Enum

class Color(Enum):
    RED = 1
    BLUE = 2

print(Color.RED is Color.RED)
print(Color.RED == Color.BLUE)

Suche nach Wert

Rufen Sie die Enum-Klasse mit einem Wert auf, um das passende Mitglied zu erhalten. Bei einem unbekannten Wert wird ValueError ausgelöst.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

print(Color(2))
try:
    Color(99)
except ValueError as e:
    print('Bad value:', e)

Suche nach Namen

Verwenden Sie den Zugriff mit eckigen Klammern und der Zeichenkette mit dem Mitgliedsnamen, um ein Mitglied nach seinem Namen zu suchen. Das ist praktisch, wenn Sie Namen aus einer Konfiguration oder einer Benutzereingabe lesen.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2

print(Color['GREEN'])

Über Mitglieder iterieren

Ein Enum ist iterierbar. Eine Schleife liefert jedes Mitglied in der Reihenfolge seiner Definition, was sich hervorragend zum Erstellen von Menüs oder zum Validieren von Auswahlmöglichkeiten eignet.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

for c in Color:
    print(c.name, c.value)

Zeichenkettenwerte

Enum-Werte sind nicht auf Ganzzahlen beschränkt. Zeichenketten sind üblich, insbesondere bei Werten, die serialisiert oder gespeichert werden.

from enum import Enum

class Status(Enum):
    ACTIVE = 'active'
    PAUSED = 'paused'
    CLOSED = 'closed'

print(Status.PAUSED.value)
print(Status('closed'))

auto() für Werte

Wenn die konkreten Zahlen keine Rolle spielen, verwenden Sie auto(), um Werte automatisch zu vergeben: beginnend bei 1 und aufsteigend.

from enum import Enum, auto

class Direction(Enum):
    NORTH = auto()
    SOUTH = auto()
    EAST = auto()
    WEST = auto()

for d in Direction:
    print(d.name, d.value)

Enums in Funktionen

Wenn Sie Enums als Funktionsparameter verwenden, wird die Absicht klarer und Sie schützen sich vor ungültigen Eingaben. Vergleichen Sie die Mitglieder direkt innerhalb der Logik.

from enum import Enum

class Light(Enum):
    RED = 1
    YELLOW = 2
    GREEN = 3

def can_go(light):
    return light is Light.GREEN

print(can_go(Light.GREEN))
print(can_go(Light.RED))

Mitglieder in einem Wörterbuch

Enum-Mitglieder sind hashbar und eignen sich daher als Wörterbuchschlüssel. So können Sie jedem benannten Konstantenwert übersichtlich Daten zuordnen.

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3

hex_codes = {Color.RED: '#ff0000', Color.GREEN: '#00ff00'}
print(hex_codes[Color.RED])

Kurzer Test

Wie vergleichen Sie zwei Enum-Mitglieder korrekt auf Identität?

Zusammenfassung

Sie haben gelernt, Gruppen benannter Konstanten mit Enum zu definieren.

  • Mitglieder besitzen .name und .value.
  • Suchen Sie nach einem Wert mit Color(v) und nach einem Namen mit Color['NAME'].
  • Enums sind iterierbar und ihre Mitglieder sind Singletons.
  • Verwenden Sie auto(), wenn die konkreten Werte keine Rolle spielen.

Häufig gestellte Fragen

Ist die Lektion „Die Enum-Klasse“ kostenlos?

Ja — der vollständige Text von „Die Enum-Klasse“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Die Enum-Klasse“?

Benannte Konstantengruppen definieren Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Die Enum-Klasse“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Die Enum-Klasse
  2. IntEnum und Flag
  3. NamedTuple-Grundlagen
  4. typing.NamedTuple
← Zurück zu Python Academy