Exercices Architecture & Patterns Pattern to_dict / from_dict
🎉

Bravo!

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

Pattern to_dict / from_dict

La serialisation, c'est transformer un objet Python en données transportables (un dictionnaire, du JSON, du XML...). La deserialisation, c'est l'inverse : reconstruire un objet depuis ces données.

C'est comme emballer un meuble IKEA pour le transporter : tu le demontes (serialisation), tu le transportes, puis tu le remontes (deserialisation).

Le pattern le plus courant en Python est to_dict / from_dict :

class Truc:
def to_dict(self):
return {'clé': self.valeur}

@classmethod
def from_dict(cls, data):
return cls(data['clé'])

Le @classmethod permet d'appeler Truc.from_dict(d) sans avoir besoin d'une instance existante.

Crée une classe Personne avec nom, age, email. Implemente to_dict() qui retourne un dictionnaire, et from_dict(cls, data) qui crée une instance depuis un dict.

Exemple :
p = Personne('Alice', 30, 'alice@example.com')
d = p.to_dict() # {'nom': 'Alice', 'age': 30, 'email': 'alice@example.com'}
p2 = Personne.from_dict(d)
p2.nom # 'Alice'

Tests (2/4)

to_dict
p = Personne('Alice', 30, 'a@b.com')
assert p.to_dict() == {'nom': 'Alice', 'age': 30, 'email': 'a@b.com'}
from_dict
d = {'nom': 'Bob', 'age': 25, 'email': 'b@c.com'}
p = Personne.from_dict(d)
assert p.nom == 'Bob' and p.age == 25

+ 0 tests cachés

Indices (3 disponibles)

solution.py