Maison > développement back-end > Tutoriel Python > Comment implémenter et utiliser des énumérations en Python ?

Comment implémenter et utiliser des énumérations en Python ?

Susan Sarandon
Libérer: 2024-12-20 06:16:08
original
977 Les gens l'ont consulté

How Do I Implement and Use Enumerations in Python?

Implémentation d'énumérations en Python

Python fournit un module d'énumération intégré dans Python 3.4 ou supérieur. Ce module permet la représentation d'énumérations, qui sont des collections de constantes nommées. Pour l'utiliser, vous pouvez suivre ces étapes :

  1. Importer le module enum :

    import enum
    Copier après la connexion
  2. Définir l'énumération :

    Animal = enum.Enum('Animal', 'ant bee cat dog')
    Copier après la connexion
  3. Accédez aux membres du énumération :

    Animal.ant  # returns <Animal.ant: 1>
    Animal['ant']  # returns <Animal.ant: 1> (string lookup)
    Animal.ant.name  # returns 'ant' (inverse lookup)
    Copier après la connexion

Vous pouvez également définir une énumération en utilisant une approche basée sur les classes :

class Animal(enum.Enum):
    ant = 1
    bee = 2
    cat = 3
    dog = 4
Copier après la connexion

Versions antérieures de Python

Dans les versions antérieures de Python, vous pouvez créer votre propre fonctionnalité d'énumération personnalisée à l'aide d'un class:

class Enum(object):
    def __init__(self, *args):
        self.keys = args

    def __getattr__(self, attr):
        try:
            return attr, self.keys.index(attr)
        except:
            raise AttributeError(attr)
Copier après la connexion

Utilisation de typing.Literal dans MyPy

Lorsque vous utilisez MyPy pour la vérification de type, vous pouvez également exprimer des énumérations en utilisant typing.Literal:

from typing import Literal

Animal: Literal['ant', 'bee', 'cat', 'dog']
Copier après la connexion

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!

source:php.cn
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