é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 裝飾器可以幫助我們檢查保證沒(méi)有重復(fù)值 @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 :
Grace à 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.