Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Protocole de sequence : __getitem__
Le protocole de sequence en Python repose sur deux méthodes speciales : __len__() et __getitem__(). Si ta classe implémente ces deux méthodes, tes objets se comportent comme des sequences : tu peux utiliser len(), acceder aux éléments par index avec les crochets [], et meme iterer dessus avec une boucle for.
__getitem__(self, index) est appele quand tu ecris objet[index]. Elle doit renvoyer l'élément a la position demandee.
Enrichis la classe Panier de l'exercice précédent en ajoutant __getitem__() pour pouvoir acceder aux articles par leur index.
Écris une classe Panier avec : __init__(self) qui initialise une liste vide ajouter(self, article) qui ajoute un article __len__(self) qui renvoie le nombre d'articles __getitem__(self, index) qui renvoie l'article a l'index donne
Exemple : p = Panier() p.ajouter('pommes') p.ajouter('pain') p[0] renvoie 'pommes' p[1] renvoie 'pain'
Tests (3/4)
Premier élément
p = Panier()
p.ajouter('pommes')
assert p[0] == 'pommes'
Deuxieme élément
p = Panier()
p.ajouter('pommes')
p.ajouter('pain')
assert p[1] == 'pain'
Index negatif
p = Panier()
p.ajouter('pommes')
p.ajouter('pain')
assert p[-1] == 'pain'