Enum in Python
-
Enum in Python usando il modulo
enum
- Implementa Enum in Python usando una sintassi di classe regolare
In questo tutorial, esamineremo diversi metodi di utilizzo o implementazione di enum
in Python. L’enum
o enumerazione è un tipo speciale di classe che rappresenta un insieme di costanti denominate di tipo numerico. Ogni costante nominata nel tipo enum
ha il proprio valore intero, che dipende dalla posizione della costante denominata dell’insieme.
Il tipo enum
viene utilizzato per assegnare i nomi delle costanti all’insieme di valori interi in molti linguaggi di programmazione come C#, Java, Go, C e C++, ecc. Possiamo implementare e utilizzare il tipo di enumerazione in Python utilizzando i metodi che sono spiegati di seguito.
Enum in Python usando il modulo enum
Il modulo enum
di Python ha quattro classi che sono Enum
, IntEnum
, Flag
e IntFlag
, per ulteriori dettagli sul modulo e le classi, questo link può essere visitato.
Nella classe Enum
, il valore di ciascuna costante del nome è un numero intero per impostazione predefinita, ma possiamo anche passare tipi di dati come stringa o float, ecc. I valori delle costanti del nome della classe IntEnum
, come suggerisce il nome, possono essere solo numeri interi.
Possiamo creare e usare l’enumerazione in Python usando le classi Enum
e IntEnum
. I seguenti codici di esempio dimostrano come utilizzare queste classi per implementare diversi tipi di enumeratori in Python.
Enumeratore semplice:
from enum import Enum
Names = Enum("Names", ["Waiz", "Tom", "Sara", "Lee"])
Possiamo usare l’iteratore della coppia (nome, valore)
per salvare valori specifici con ciascun nome, che rappresentano id o segni, ecc., Delle costanti del nome. Possiamo accedere al valore della costante del nome e al nome utilizzando Enum.nameconstant.value
per accedere ai valori e Enum.nameconstant.name
per accedere ai nomi.
Possiamo farlo in Python usando il seguente codice di esempio.
from enum import Enum
Names = Enum("Names", [("Waiz", 8), ("Tom", 5), ("Sara", 7), ("Lee", 6)])
print(Names.Sara.value)
print(Names.Waiz.name)
Produzione:
7
Waiz
Un altro modo per creare un enumeratore è utilizzare la sintassi della classe e quindi passare Enum
o IntEnum
come mostrato nel codice di esempio seguente:
from enum import IntEnum
class Student(IntEnum):
Waiz = 1
Ali = 2
John = 3
Lee = 4
print(Student.Lee.value)
Produzione:
4
Implementa Enum in Python usando una sintassi di classe regolare
Nelle versioni di Python precedenti alla 2.4, il modulo Enum
non è disponibile, in questo caso possiamo implementare la nostra class
dell’enumeratore Enum
usando la sintassi della classe.
Possiamo implementare la classe enumeratore semplice con i valori predefiniti a partire da 1
come nella classe Enum
del modulo enum
, come dimostrato nel codice di esempio seguente:
class Zoo:
Lion, Tiger, Cheetah, Leopard = range(1, 5)
print Zoo.Lion
Produzione:
1