Maison >développement back-end >Tutoriel Python >Comment les développeurs C# peuvent-ils représenter les énumérations en Python ?

Comment les développeurs C# peuvent-ils représenter les énumérations en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-24 07:15:17151parcourir

How Can C# Developers Represent Enums in Python?

Représenter des énumérations en Python

Question :

En tant que développeur C# travaillant sur un projet Python, comment pouvez-vous représenter l'équivalent d'un Enum dans Python ?

Réponse :

Les énumérations (Enums) ont été introduites dans Python 3.4 dans le cadre du PEP 435. Elles ont également été rétroportées vers les versions précédentes via des tiers. bibliothèques comme enum34 et aenum.

Utilisation du module enum (Python 3.4 ):

from enum import Enum

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

Cela crée une énumération animale avec les membres fourmi, abeille, chat et chien.

Utilisation de la bibliothèque enum34 (Python 2.7) :

from enum34 import Enum

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

Utilisation de la bibliothèque aenum (Python 2.7, 3.3) :

from aenum import Enum

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

Technique antérieure pour Python Pre-3.4 :

Dans les versions antérieures de Python, vous pouvez utiliser une énumération personnalisée ( ) fonction pour créer vos propres énumérations :

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

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

Supplémentaire Techniques :

  • Énumération automatique : utilisez des fonctions telles que enum(*sequential, **named) pour générer automatiquement des membres en fonction des noms fournis.
  • Mappage inverse : ajoutez un reverse_mapping attribut à votre Enum pour reconvertir facilement les valeurs en noms.
  • MyPy typing.Literal : utilisez typing.Literal pour définir des énumérations de type sécurisé dans Python 3.8 .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Encadrer une logiqueArticle suivant:Encadrer une logique