Benutzerdefinierte Typaufzählung

Aber manchmal müssen wir die Art der Aufzählung steuern, dann können wir eine benutzerdefinierte Klasse von Enum ableiten, um diesen Bedarf zu erfüllen. Durch Ändern des obigen Beispiels:

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from enum import Enum, unique
Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
# @unique 装饰器可以帮助我们检查保证没有重复值
@unique
class Month(Enum):
    Jan = 'January'
    Feb = 'February'
    Mar = 'March'
    Apr = 'April'
    May = 'May'
    Jun = 'June'
    Jul = 'July'
    Aug = 'August'
    Sep = 'September '
    Oct = 'October'
    Nov = 'November'
    Dec = 'December'
if __name__ == '__main__':
    print(Month.Jan, '----------',
          Month.Jan.name, '----------', Month.Jan.value)
    for name, member in Month.__members__.items():
        print(name, '----------', member, '----------', member.value)

Das Ausgabeergebnis lautet wie folgt:

7ee49a517fbabe7772b6f5c5b285ad0.png

Anhand des obigen Beispiels können Sie erkennen, dass das Aufzählungsmodul eine Iteration definiert (Interator) und Vergleichsfunktion (Vergleich) Aufzählungstyp. Es kann verwendet werden, um wohldefinierte Symbole für Werte zu erstellen, anstatt konkrete Ganzzahlen oder Zeichenfolgen zu verwenden.

Weiter lernen
||
einreichenCode zurücksetzen