Exercices Architecture & Patterns Emulation de conteneur
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Emulation de conteneur

Python te permet de faire en sorte que tes propres classes se comportent comme des types natifs (listes, dictionnaires...) en implementant des méthodes speciales.

Pour qu'un objet se comporte comme un dictionnaire (acces par clé avec []), tu dois implémenter :
__getitem__(self, cle) : appelee quand on fait obj[cle]
__setitem__(self, clé, valeur) : appelee quand on fait obj[cle] = valeur
__len__(self) : appelee quand on fait len(obj)
__contains__(self, cle) : appelee quand on fait clé in obj

Écris une classe Registre qui stocke des données dans un dictionnaire interne self._data. La classe doit supporter l'acces par clé, l'affectation, len() et l'operateur in.

Exemple :
r = Registre()
r['nom'] = 'Alice'
r['nom'] donne 'Alice'
len(r) donne 1
'nom' in r donne True

Tests (4/5)

Écriture et lecture
r = Registre()
r['x'] = 42
assert r['x'] == 42
Longueur
r = Registre()
r['a'] = 1
r['b'] = 2
assert len(r) == 2
Contient
r = Registre()
r['nom'] = 'test'
assert 'nom' in r and 'age' not in r
Vide au depart
r = Registre()
assert len(r) == 0

+ 0 tests cachés

Indices (3 disponibles)

solution.py