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
Libérer: 2024-12-24 07:15:17
original
210 Les gens l'ont consulté

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')
Copier après la connexion

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')
Copier après la connexion

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
Copier après la connexion

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')
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal