Exercices Architecture & Patterns Dataclass serialisable
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Dataclass serialisable

Les dataclasses sont un raccourci Python pour créer des classes qui stockent des données. Au lieu d'écrire __init__, __repr__, __eq__ a la main, le decorateur @dataclass les génère automatiquement.

Exemple :
from dataclasses import dataclass

@dataclass
class Point:
x: float
y: float

p = Point(1.0, 2.0)
print(p) # Point(x=1.0, y=2.0) (__repr__ genere)
p == Point(1.0, 2.0) # True (__eq__ genere)

Le module dataclasses fournit aussi asdict() qui convertit une dataclass en dictionnaire.

Crée une dataclass Article avec titre (str), auteur (str) et note (float, défaut 0.0). Ajoute to_dict() qui utilise asdict(self) et from_dict(cls, data) qui utilise cls(**data).

Exemple :
a = Article('Python avance', 'Bob', 4.5)
a.to_dict() # {'titre': 'Python avance', 'auteur': 'Bob', 'note': 4.5}
Article.from_dict({'titre': 'Test', 'auteur': 'Alice', 'note': 3.0})

Tests (2/4)

to_dict
a = Article('Titre', 'Auteur', 4.5)
assert a.to_dict() == {'titre': 'Titre', 'auteur': 'Auteur', 'note': 4.5}
from_dict
d = {'titre': 'Test', 'auteur': 'Bob', 'note': 3.0}
a = Article.from_dict(d)
assert a.titre == 'Test' and a.note == 3.0

+ 0 tests cachés

Indices (3 disponibles)

solution.py