Le décorateur @dataclass génère automatiquement __init__, __repr__ et __eq__ à partir des attributs annotés d'une classe. Il convient aux classes surtout destinées à porter des données. Les options frozen=True (immuable) et field(default_factory=...) gèrent l'immuabilité et les valeurs mutables.
Exemple
@dataclass
class Point:
x: float
y: float = 0.0