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
Um eine Aufzählung zu definieren, importieren Sie zunächst das Aufzählungsmodul.
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>
Sie können Month
direkt verwenden, um auf eine Konstante zu verweisen oder alle ihre Mitglieder aufzuzählen. Month.Jan
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!