Énumération de types personnalisés

Mais parfois, nous devons contrôler le type d'énumération, nous pouvons alors dériver une classe personnalisée d'Enum pour répondre à ce besoin. En modifiant l'exemple ci-dessus :

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from enum import Enum, unique
Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
# @unique 装饰器可以帮助我们检查保证没有重复值
@unique
class Month(Enum):
    Jan = 'January'
    Feb = 'February'
    Mar = 'March'
    Apr = 'April'
    May = 'May'
    Jun = 'June'
    Jul = 'July'
    Aug = 'August'
    Sep = 'September '
    Oct = 'October'
    Nov = 'November'
    Dec = 'December'
if __name__ == '__main__':
    print(Month.Jan, '----------',
          Month.Jan.name, '----------', Month.Jan.value)
    for name, member in Month.__members__.items():
        print(name, '----------', member, '----------', member.value)

Le résultat de sortie est le suivant :

7ee49a517fbabe7772b6f5c5b285ad0.png

Grâce à l'exemple ci-dessus, vous pouvez savoir que le module d'énumération définit des types d'énumération avec des fonctions d'itération (interateur) et de comparaison (comparaison). Il peut être utilisé pour créer des symboles bien définis pour les valeurs au lieu d'utiliser des entiers ou des chaînes concrets.

Formation continue
  • Recommandations de cours
  • Téléchargement du didacticiel