É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 :
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.