亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Verwendung von Aufz?hlungsklassen

In der tats?chlichen Entwicklung k?nnen wir nicht auf die Definition von Konstanten verzichten. Eine M?glichkeit besteht darin, Variablen in Gro?buchstaben zu verwenden, um sie mit ganzen Zahlen wie Monaten zu definieren:

JAN = 1
FEB = 2
MAR = 3
...
NOV = 11
DEC = 12

Natürlich Das ist einfach, der Nachteil ist, dass der Typ int ist und es immer noch eine Variable ist.

Gibt es eine gute M?glichkeit?

Zu diesem Zeitpunkt definieren wir einen Klassentyp und jede Konstante ist die einzige Instanz in der Klasse. Zuf?llig stellt Python die Enum-Klasse bereit, um diese Funktion wie folgt zu implementieren:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from enum import Enum
Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
# 遍歷枚舉類(lèi)型
for name, member in Month.__members__.items():
    print(name, '---------', member, '----------', member.value)
# 直接引用一個(gè)常量
print('\n', Month.Jan)

Das Ausgabeergebnis lautet wie folgt:

a41b1b020149ba50432eae7d4913fa0.png

Es ist zu sehen dass wir Enum direkt verwenden k?nnen, um eine Aufz?hlung einer Klasse zu definieren. Im obigen Code erstellen wir einen Aufz?hlungstyp für den Monat. Hier sind die Konstruktionsparameter zu beachten. Der erste Parameter ?Monat“ stellt den Klassennamen der Aufz?hlungsklasse dar und der zweite Tupelparameter stellt den Wert von dar die Aufz?hlungsklasse; natürlich durchl?uft die Aufz?hlungsklasse alle ihre Mitglieder über die Methode __members__. Zu beachten ist, dass member.value eine Konstante vom Typ int ist, die dem Mitglied automatisch zugewiesen wird und standardm??ig bei 1 beginnt. Darüber hinaus sind die Mitglieder von Enum alle Singletons und k?nnen nicht instanziiert oder ge?ndert werden

Weiter lernen
||
einreichenCode zurücksetzen