Über Python Enums
Wie bereits erwähnt, sind Enums Objekte mit konstanten Werten mit konstanten Werten. Sie haben symbolische oder repräsentative Namen, die an ihre jeweiligen Werte verbunden sind. Sie ähneln in ähnlicher Weise anderen Python-Variablen, sind jedoch mit einigen einzigartigen Funktionen wie Typ-sicherer Objekte und Gruppierung ausgestattet. In Python werden Enums immer unter Verwendung der oberen Fallzeichen dargestellt, um anzuzeigen, dass sie konstante Werte haben. Enums sind in Fällen besonders nützlich, wenn Sie über einen vordefinierten Bereich möglicher Werte verfügen und Sie nur begrenzte Auswahlmöglichkeiten in Ihrer Programmlogik auswählen und verweisen müssen. Die Verwendung von Enums in Python kann am besten anhand von Beispielen verstanden werden. Einige von ihnen werden unten erklärt.
Erstellen von Enums
Sie können Aufzüge erstellen, indem Sie eine neue Klasse erstellen, die die Enum -Klasse selbst erbt. Schauen Sie sich das Code -Beispiel unten an:
von Enum Import EnumDie erste Anweisung importiert die Enum -Klasse aus dem Enum -Modul. Als nächstes wird eine neue Klasse namens "Farbe" durch Erben der Enum -Klasse erstellt. Einige Variablen (Enum -Mitglieder) werden dann mit konstanten Werten erstellt. Diese Variablen stellen fünf mögliche Auswahlmöglichkeiten dar. Die nächsten paar Druckanweisungen zeigen, wie Sie auf diese Aufzüge, ihre Namen und Werte zugreifen können. Diese Aussagen sind selbsterklärend. Um auf eine mögliche Auswahl zuzugreifen, können Sie die Punktnotation verwenden oder einem bekannten Wert als Argument für die Klasse angeben. Nachdem Sie das obige Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:
Farbe.GELBWie Sie in der Ausgabe sehen können, gibt es verschiedene Möglichkeiten, wie Sie auf Enum -Mitglieder zugreifen können. Beachten. So beziehen sich auf Farbe.Gelb wird die Farbe zurückgeben.Gelb und nicht 1.
Iterieren durch Enums
Sie können durch ein Enum -Typ -Objekt itererieren und seine Mitglieder mithilfe von Schleifenanweisungen erhalten.
von Enum Import EnumMit der Variablen „C“ können Sie auf jedes Mitglied des Objekts des Farbumumtyps zugreifen. Nachdem Sie das obige Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten.
Gelb 1Name der Enum -Mitglieder müssen eindeutig sein, aber doppelte Werte sind zulässig
Sie können nicht zwei Enum -Mitglieder mit demselben Namen erstellen, aber ihre Werte haben keine solchen Einschränkungen. Das folgende Code -Beispiel wirft einen Fehler auf, da zwei Enum -Mitglieder mit denselben Namen vorhanden sind.
von Enum Import EnumNach dem Ausführen des obigen Code -Beispiels sollten Sie einen ähnlichen Fehler erhalten:
Datei "/usr/lib/python3.9/Enum.Py ", Zeile 133, in __setItem__Wie Sie in der Ausgabe sehen können, sind doppelte Namen für Enum -Mitglieder nicht zulässig. Der folgende Code ist jedoch gültig, wenn zwei Enum -Mitglieder die gleichen Werte haben.
von Enum Import EnumWenn Sie auch einzigartige Werte für Enum -Mitglieder zusammen mit ihren Namen erzwingen möchten, können Sie „eindeutige“ Dekorateur verwenden, um doppelte Werte zu verhindern.
von Enum Import Enum, einzigartigDie Dekorateurin "@Unique" erzwingt die Enum -Enum -Objekte, um einen Fehler zu werfen, wenn die Enum -Mitglieder doppelte Werte zugewiesen sind. Nachdem Sie das obige Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:
Datei "/usr/lib/python3.9/Enum.Py ", Zeile 989, in einzigartigerAutomatische Werte für die Enum -Mitglieder zuweisen
Wenn die Werte von Enum -Mitgliedern für Sie keine Rolle spielen, können Sie die im Enum -Modul verfügbare „Auto“ -Methode verwenden, um die enum -Mitglieder automatisch sequentielle Zahlen zuzuweisen.
von Enum Import Enum, AutoWie Sie in der Code -Probe Aboved sehen können, wurde die Autofunktion beim Erstellen jedes Mitglieds aufgerufen, anstatt explizit einige Werte zuzuweisen. Die Auto -Methode weist immer 1 als erster Wert zu. Nachdem Sie das obige Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:
Gelb 1Abschluss
Enums Type -Objekte in Python ermöglichen es Ihnen, Variablen mit konstantem Stil mit eindeutigen Namen zu erstellen. Diese Variablen, die normalerweise Enum -Mitglieder bezeichnet werden, können durch menschliche lesbare Zeichenfolgen dargestellt werden. Enums sind besonders nützlich, wenn Sie eine oder mehrere Auswahlmöglichkeiten aus einer Gruppe begrenzter Optionen auswählen möchten.