Retour à la leçonMission
Mission : dompter une dataclass Commande qui refuse de se laisser écrire
Corriger une dataclass qui lève une erreur à la définition à cause d'une valeur par défaut mutable interdite, puis exploiter frozen et __post_init__ pour un objet de configuration fiable.
Contexte
Un développeur écrit @dataclass class Commande: id: int; articles: list[str] = [] et obtient immédiatement une ValueError au chargement du module, avant même d'avoir instancié une seule Commande. Il ne comprend pas pourquoi Python refuse une syntaxe qui fonctionnerait sans problème dans une fonction normale.
Tu dois corriger cette dataclass, créer une configuration immuable et hashable, puis valider un champ dérivé avec __post_init__.