Obtenir les valeurs d’une Enum en Python #
Pour obtenir une valeur dans une énumération en Python :
- Utilisez la notation par points pour accéder au membre spécifique de l’énumération, par ex.
Color.GREEN
. - Accéder au
value
sur le membre de l’énumération, par ex.Color.GREEN.value
.
from enum import Enum
class Color(Enum):
RED = 'stop'
GREEN = 'go'
YELLOW = 'get ready'
print(Color.GREEN.value)
print(Color['GREEN'].value)
print(Color.RED.value)
print(Color['RED'].value)
Vous pouvez utiliser l’option name
et value
sur un membre de l’enum pour obtenir le nom et la valeur de l’enum.
from enum import Enum
class Color(Enum):
RED = 'stop'
GREEN = 'go'
YELLOW = 'get ready'
print(Color.GREEN.value)
print(Color.GREEN.name)
Vous pouvez également utiliser des crochets pour accéder aux membres d’une énumération.
from enum import Enum
class Color(Enum):
RED = 'stop'
GREEN = 'go'
YELLOW = 'get ready'
name = 'GREEN'
print(Color[name].value)
print(Color['GREEN'].value)
Ceci est utile lorsque vous ne connaissez pas le nom du membre de l’enum à l’avance (parce qu’il est lu depuis un fichier ou récupéré depuis une API).
Vous pouvez utiliser une compréhension de liste pour vérifier si une valeur spécifique se trouve dans une énumération.
from enum import Enum
class Color(Enum):
RED = 'stop'
GREEN = 'go'
YELLOW = 'get ready'
values = [member.value for member in Color]
print(values)
if 'go' in values:
print('go is in values')
Les compréhensions de liste sont utilisées pour effectuer une opération sur chaque élément, ou pour sélectionner un sous-ensemble d’éléments répondant à une condition.
sélectionner un sous-ensemble d’éléments qui répondent à une condition.
L’opérateur
dans l’opérateur
teste l’appartenance. Par exemple, x in l
est évalué à True
si x
est un
membre de l
sinon il est évalué à False
.
Vous pouvez utiliser un simple for
boucle si vous avez besoin d’itérer sur un enum.
from enum import Enum
class Color(Enum):
RED = 'stop'
GREEN = 'go'
YELLOW = 'get ready'
for color in Color:
print(color)
print(color.name, color.value)