Énumération en Python
-
Enum en Python à l’aide du module
enum
- Implémenter Enum en Python à l’aide d’une syntaxe de classe régulière
Dans ce tutoriel, nous examinerons différentes méthodes d’utilisation ou d’implémentation de enum
en Python. L’enum
ou énumération est un type spécial de classe représentant un ensemble de constantes nommées de type numérique. Chaque constante nommée du type enum
a sa propre valeur entière, qui dépend de la position de la constante nommée de l’ensemble.
Le type enum
est utilisé pour attribuer les noms des constantes à l’ensemble des valeurs entières dans de nombreux langages de programmation comme C#, Java, Go, C et C++, etc. Nous pouvons implémenter et utiliser le type d’énumération en Python en utilisant les méthodes qui sont expliquées ci-dessous.
Enum en Python à l’aide du module enum
Le module enum
de Python a quatre classes qui sont Enum
, IntEnum
, Flag
et IntFlag
, pour plus de détails sur le module et les classes, ce lien peut être visité.
Dans la classe Enum
, la valeur de chaque constante de nom est un entier par défaut, mais on peut aussi passer des types de données comme string ou float, etc. Les valeurs des constantes de nom de la classe IntEnum
, comme son nom l’indique, peuvent être uniquement des nombres entiers.
Nous pouvons créer et utiliser l’énumération en Python en utilisant les classes Enum
et IntEnum
. Les exemples de codes ci-dessous montrent comment utiliser ces classes pour implémenter différents types d’énumérateurs en Python.
Énumérateur simple:
from enum import Enum
Names = Enum("Names", ["Waiz", "Tom", "Sara", "Lee"])
On peut utiliser l’itérateur de la paire (nom, valeur)
pour sauvegarder des valeurs spécifiques avec chaque nom, représentant id ou marques, etc., des constantes de nom. On peut accéder à la valeur et au nom de la constante de nom en utilisant Enum.nameconstant.value
pour accéder aux valeurs et Enum.nameconstant.name
pour accéder aux noms.
Nous pouvons le faire en Python en utilisant l’exemple de code ci-dessous.
from enum import Enum
Names = Enum("Names", [("Waiz", 8), ("Tom", 5), ("Sara", 7), ("Lee", 6)])
print(Names.Sara.value)
print(Names.Waiz.name)
Production:
7
Waiz
Une autre façon de créer un énumérateur consiste à utiliser la syntaxe de classe, puis à passer le Enum
ou IntEnum
comme indiqué dans l’exemple de code ci-dessous:
from enum import IntEnum
class Student(IntEnum):
Waiz = 1
Ali = 2
John = 3
Lee = 4
print(Student.Lee.value)
Production:
4
Implémenter Enum en Python à l’aide d’une syntaxe de classe régulière
Dans les versions Python antérieures à 2.4, le module Enum
n’est pas disponible, dans ce cas, nous pouvons implémenter notre propre class
de l’énumérateur Enum
en utilisant la syntaxe de classe.
Nous pouvons implémenter la classe d’énumérateur simple avec les valeurs par défaut à partir de 1
comme dans la classe Enum
du module enum
, comme illustré dans l’exemple de code ci-dessous:
class Zoo:
Lion, Tiger, Cheetah, Leopard = range(1, 5)
print Zoo.Lion
Production:
1