Maison >développement back-end >Tutoriel Python >Énumération Python
Les énumérations sont des fonctions couramment utilisées, jetez un œil aux énumérations de Python
from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
@uniqueclass Weekday(Enum): Sun = 0 # Sun的value被设定为0 Mon = 1Tue = 2Wed = 3Thu = 4Fri = 5Sat = 6
for name, member in Month.__members__.items(): print(name, '=>', member, ',', member.value)
<.>
Définition d'une énumération
Tout d'abord, pour définir une énumération, importez le module enum.
L'énumération est définie à l'aide du mot-clé class et hérite de la classe Enum .
Par défaut, différentes valeurs de membre sont autorisés à être les mêmes. Mais pour deux membres de même valeur, le nom du deuxième membre est traité comme un alias du premier membre
S'il y a des membres de même valeur dans l'énumération, lors de l'obtention des membres de l'énumération par valeur, seul le premier membre
<em><span style="font-family: 宋体"> </span></em><span style="font-family: 宋体; font-size: 15px">如果要限制定义枚举时,不能定义相同值的成员。可以使用装饰器@unique【要导入unique模块】</span><span style="font-family: 宋体"><br><br><br></span><em><span style="font-family: 宋体"><br></span></em>
for name, member in Month.__members__.items(): print(name, '=>', member, ',', member.value)
<br>. Vous pouvez utiliser
directement pour faire référence à une constante, ou pour énumérer tous ses membres Month
Month.Jan
Il existe plusieurs façons d'accéder à ces types d'énumération :
.
Les énumérations prennent en charge les itérateurs, qui peuvent parcourir les membres de l'énumération
>>> day1 = Weekday.Mon>>> print(day1) Weekday.Mon>>> print(Weekday.Tue) Weekday.Tue>>> print(Weekday['Tue']) Weekday.Tue>>> print(Weekday.Tue.value)2>>> print(day1 == Weekday.Mon) True>>> print(day1 == Weekday.Tue) False>>> print(Weekday(1)) Weekday.Mon>>> print(day1 == Weekday(1)) True>>> Weekday(7) Traceback (most recent call last): ... ValueError: 7 is not a valid Weekday>>> for name, member in Weekday.__members__.items(): ... print(name, '=>', member) ... Sun => Weekday.Sun Mon => Weekday.Mon Tue => Weekday.Tue Wed => Weekday.Wed Thu => Weekday.Thu Fri => Weekday.Fri Sat => Weekday.Sat
Obtenir le membre par son nom ;Obtenir le membre par sa valeur ;Obtenir son nom et sa valeur via le membre.
Remarque : Les membres de sont des singletons et ne peuvent pas être instanciés ou modifiés.Enum
Les énumérations sont comparables :
La comparaison d'identité peut être effectuée sur les membres sélectionnés, la comparaison d'équivalence peut être effectuée sur et la comparaison de taille ne peut pas être effectuée sur
Résumé :Vous pouvez définir un groupe de constantes associées dans une classe, et la classe est immuable, et les membres des comparaisons directes sont possibles et les énumérations peuvent être implémentées de différentes manières. Enum
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!