← retour aux snippets

enum: définir des choix clairs et typés

Utiliser Enum pour des constantes lisibles et sûres.

python types #enum#types#choices

objectif

Utiliser Enum pour des constantes lisibles et sûres.

code minimal

from enum import Enum

class Mode(str, Enum):
    DEV = "dev"
    PROD = "prod"

def run(mode: Mode):
    return mode.value.upper()

print(run(Mode.DEV) == "DEV")  # attendu: True

utilisation

from enum import Enum
class Color(Enum):
    RED = 1; GREEN = 2
print(Color.RED.name == "RED" and Color.RED.value == 1)

variante(s) utile(s)

from enum import StrEnum  # Python 3.11+
class Env(StrEnum):
    STAGING = "staging"
print(Env.STAGING.endswith("ing"))

notes

  • StrEnum facilite les comparaisons avec des str.
  • Préférez Enum aux “constantes” magiques éparpillées.