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

Python-Aufzählung Enum

巴扎黑
Freigeben: 2017-06-23 15:32:43
Original
1657 Leute haben es durchsucht

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

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>
Nach dem Login kopieren
for name, member in Month.__members__.items():
    print(name, '=>', member, ',', member.value)
Nach dem Login kopieren
Nach dem Login kopieren
<br>
Nach dem Login kopieren
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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage