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.