Heim >Backend-Entwicklung >Python-Tutorial >Wie können C#-Entwickler Enums in Python darstellen?

Wie können C#-Entwickler Enums in Python darstellen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-24 07:15:17151Durchsuche

How Can C# Developers Represent Enums in Python?

Aufzählungen in Python darstellen

Frage:

Wie können Sie als C#-Entwickler, der an einem Python-Projekt arbeitet, darstellen das Äquivalent einer Enum in Python?

Antwort:

Aufzählungen (Enums) wurden in Python 3.4 als Teil von PEP 435 eingeführt. Sie wurden auch über Drittanbieter auf frühere Versionen zurückportiert Bibliotheken wie enum34 und aenum.

Verwendung des enum-Moduls (Python 3.4):

from enum import Enum

Animal = Enum('Animal', 'ant bee cat dog')

Dadurch wird eine Tieraufzählung mit den Mitgliedern Ameise, Biene, Katze und Hund erstellt.

Verwendung der enum34-Bibliothek (Python 2.7):

from enum34 import Enum

Animal = Enum('Animal', 'ant bee cat dog')

Verwenden aenum-Bibliothek (Python 2.7, 3.3):

from aenum import Enum

class Animal(Enum):
    ant = 1
    bee = 2
    cat = 3
    dog = 4

Frühere Technik für Python vor 3.4:

In früheren Versionen von Python können Sie verwenden eine benutzerdefinierte enum()-Funktion zum Erstellen Ihrer eigenen Aufzählungen:

def enum(**enums):
    return type('Enum', (), enums)

Numbers = enum(ONE=1, TWO=2, THREE='three')

Zusätzliche Techniken:

  • Automatische Aufzählung: Verwenden Sie Funktionen wie enum(*sequential, **named), um automatisch Mitglieder basierend auf zu generieren bereitgestellte Namen.
  • Reverse Mapping: Fügen Sie Ihrer Enum ein reverse_mapping-Attribut hinzu, um Werte einfach zurück zu konvertieren Namen.
  • MyPy typing.Literal: Verwenden Sie typing.Literal, um typsichere Aufzählungen in Python 3.8 zu definieren.

Das obige ist der detaillierte Inhalt vonWie können C#-Entwickler Enums in Python darstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Gestalten Sie eine LogikNächster Artikel:Gestalten Sie eine Logik