Énumération Python

巴扎黑
巴扎黑original
2017-06-23 15:32:431648parcourir

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

  1. Tout d'abord, pour définir une énumération, importez le module enum.

  2. L'énumération est définie à l'aide du mot-clé class et hérite de la classe Enum .

Remarque :

Lors de la définition d'une énumération, les noms de membres ne peuvent pas être répétés

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)
nous peut être obtenu Vous avez obtenu un classe d'énumération de type
<br>
. Vous pouvez utiliser

directement pour faire référence à une constante, ou pour énumérer tous ses membres MonthMonth.JanIl 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
Résumé des valeurs d'énumération :

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!

Déclaration:
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