Dies ist ein maschinell übersetzter Text, der Fehler enthalten kann!
Enums (Enumerationen) sind eine Möglichkeit, einen Datentyp zu definieren, der nur eine begrenzte Menge vordefinierter Werte annehmen kann. Dies erleichtert die Vermeidung von Fehlern, da eine Variable nur gültige Werte annehmen kann.
Enums werden streng genommen nicht zur Validierung verwendet, aber sie helfen uns, die gültigen Werte für eine Variable einzuschränken und können so dazu beitragen, Fehler zu verhindern.
Zum Beispiel, wenn Sie eine Klasse haben, die ein Auto repräsentiert, können Sie ein Enum verwenden, um zu definieren, welche Farben das Auto haben kann:
from enum import Enum
class CarColor(Enum):
RED = "red"
BLUE = "blue"
GREEN = "green"
BLACK = "black"
WHITE = "white"
class Car:
def __init__(self, make: str, model: str, year: int, color: CarColor):
self.make = make
self.model = model
self.year = year
self.color = color
Warum?
Unsere IDE bietet eine bessere Autovervollständigung, wenn wir Enums verwenden, und wir vermeiden (erschweren) das Setzen ungültiger Werte. Wenn wir versuchen, eine Farbe zuzuweisen, die nicht in CarColor definiert ist, wird Python einen Fehler auslösen. Dies macht den Code robuster und einfacher zu warten. Je weniger mögliche Fehler auftreten können, desto besser ist die Qualität des Codes.
Stellen Sie sich vor, wir haben eine Funktion, die Zahlungsmethoden behandelt: PayPal, VISA, MASTERCARD und BITCOIN. Durch die Verwendung eines Enums für Zahlungsmethoden können wir sicherstellen, dass die Funktion nur gültige Zahlungsmethoden empfängt und nicht "MASTERCARDD" oder "CASH", was zu Fehlern im Programm führen könnte.
Aufgabe 1 – Erstelle eine Enum
Erstelle eine Enum namens EyeColor und implementiere diese in der Person-Klasse aus dem vorherigen Modul. EyeColor soll die folgenden Werte haben:
BLUEBROWNGREENHAZEL
Enums werden häufig in der Spieleentwicklung verwendet
Wenn Sie in der Dokumentation verschiedener Spiele nachschlagen, werden Sie oft feststellen, dass sie Enums verwenden, um Dinge wie Waffen, Feinde, Level und ähnliches zu definieren. Dies liegt daran, dass es einfacher macht, solche Dinge im Code zu verwalten, und es erleichtert die Vermeidung von Fehlern.

