Maison > développement back-end > Tutoriel Python > Énumération Python

Énumération Python

巴扎黑
Libérer: 2017-06-23 15:32:43
original
1694 Les gens l'ont consulté

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'))
Copier après la connexion
@uniqueclass Weekday(Enum):
    Sun = 0 # Sun的value被设定为0
    Mon = 1Tue = 2Wed = 3Thu = 4Fri = 5Sat = 6
Copier après la connexion
for name, member in Month.__members__.items():
    print(name, '=>', member, ',', member.value)
Copier après la connexion
Copier après la connexion

<.>

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>
Copier après la connexion
for name, member in Month.__members__.items():
    print(name, '=>', member, ',', member.value)
Copier après la connexion
Copier après la connexion
nous peut être obtenu Vous avez obtenu un classe d'énumération de type
<br>
Copier après la connexion
. 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
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal