Heim  >  Artikel  >  Backend-Entwicklung  >  Python-Aufzählung Enum

Python-Aufzählung Enum

巴扎黑
巴扎黑Original
2017-06-23 15:32:431601Durchsuche

Aufzählungen sind häufig verwendete Funktionen. Schauen Sie sich die Aufzählungen von Python an

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)

Definition der Aufzählung

  1. Um eine Aufzählung zu definieren, importieren Sie zunächst das Aufzählungsmodul.

  2. Die Aufzählung wird mit dem Schlüsselwort class definiert und erbt die Enum-Klasse .

Hinweis:

Beim Definieren einer Aufzählung dürfen Mitgliedsnamen nicht wiederholt werden

Standardmäßig unterschiedliche Mitgliedswerte dürfen gleich sein. Aber für zwei Mitglieder mit demselben Wert wird der Name des zweiten Mitglieds als Alias ​​des ersten Mitglieds betrachtet

 Wenn es Mitglieder mit demselben Wert gibt In der Aufzählung kann beim Abrufen von Aufzählungsmitgliedern nach Wert nur das erste Mitglied

<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>
uns abgerufen werden. Sie haben ein erhalten Aufzählungsklasse vom Typ

Sie können Month direkt verwenden, um auf eine Konstante zu verweisen oder alle ihre Mitglieder aufzuzählen. Month.Jan

Es gibt mehrere Möglichkeiten, auf diese Aufzählungstypen zuzugreifen:

Aufzählungen unterstützen Iteratoren, die Aufzählungsmitglieder durchlaufen können

>>> 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

Zusammenfassung der Aufzählungswerte:

Erhalten Sie das Mitglied anhand seines Namens;Ermitteln Sie das Mitglied anhand seines Werts;Erhalten Sie seinen Namen und Wert durch das Mitglied.

Hinweis: Die Mitglieder von sind Singletons und können nicht instanziiert oder geändert werden.Enum

Aufzählungen sind vergleichbar:

Erhöhte Mitglieder können sein verglichen auf Identität, kann auf Äquivalenz verglichen werden und kann nicht auf Größe verglichen werden.

Zusammenfassung:Sie können eine Gruppe verwandter Konstanten in einer Klasse definieren. Die Klasse ist unveränderlich und die Mitglieder können direkt verglichen werden, und Aufzählungen können auf verschiedene Arten implementiert werden . Enum

Das obige ist der detaillierte Inhalt vonPython-Aufzählung Enum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn