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
Freigeben: 2024-12-24 07:15:17
Original
162 Leute haben es durchsucht

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')
Nach dem Login kopieren

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')
Nach dem Login kopieren

Verwenden aenum-Bibliothek (Python 2.7, 3.3):

from aenum import Enum

class Animal(Enum):
    ant = 1
    bee = 2
    cat = 3
    dog = 4
Nach dem Login kopieren

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')
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage