Comment obtenir les valeurs des Enum en Python

Obtenir les valeurs d’une Enum en Python #

Pour obtenir une valeur dans une énumération en Python :

  1. Utilisez la notation par points pour accéder au membre spécifique de l’énumération, par ex. Color.GREEN.
  2. 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 lsinon 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)

Laisser un commentaire