Exercices POO __str__ et __repr__
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

__str__ et __repr__

En Python, quand tu fais print(mon_objet), Python appelle la méthode speciale __str__ de l'objet. Et quand tu tapes mon_objet dans la console interactive, c'est __repr__ qui est appelee.

Pense a __str__ comme la presentation pour les humains ("Bonjour, je suis Alice") et __repr__ comme la fiche technique ("Personne(nom='Alice', age=30)").

La convention veut que __repr__ retourne une chaine qui pourrait recréer l'objet, tandis que __str__ est plus lisible.

Exemple :

class Animal:
def __init__(self, nom, espece):
self.nom = nom
self.espece = espece
def __str__(self):
return self.nom + ' le ' + self.espece
def __repr__(self):
return 'Animal("' + self.nom + '", "' + self.espece + '")'

a = Animal('Rex', 'chien')
print(str(a)) # Rex le chien
print(repr(a)) # Animal("Rex", "chien")

Crée une classe Produit(nom, prix) avec :
__str__ qui retourne 'Produit: {nom} ({prix}e)'
__repr__ qui retourne 'Produit("{nom}", {prix})'

Exemple :
p = Produit('Livre', 15)
str(p) renvoie 'Produit: Livre (15e)'
repr(p) renvoie 'Produit("Livre", 15)'

Tests (2/4)

__str__
p = Produit('Livre', 15)
assert str(p) == 'Produit: Livre (15\u20ac)'
__repr__
p = Produit('Livre', 15)
assert repr(p) == 'Produit("Livre", 15)'

+ 0 tests cachés

Indices (3 disponibles)

solution.py