Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
La méthode __repr__
Python a deux méthodes pour convertir un objet en chaine : __str__ et __repr__. La difference :
- __str__ est pour l'affichage humain (utilisee par print()) - __repr__ est pour la représentation technique (utilisee dans le shell et dans les listes)
Une bonne __repr__ devrait idealement permettre de recréer l'objet. Par convention, elle ressemble a un appel au constructeur :
class Point: def __init__(self, x, y): self.x = x self.y = y
Si tu mets des Points dans une liste et que tu la printes, Python utilise __repr__ pour chaque élément.
Crée une classe Couleur avec trois attributs r, g, b (rouge, vert, bleu, entre 0 et 255). Definis __repr__ pour renvoyer 'Couleur(r=X, g=Y, b=Z)' et __str__ pour renvoyer 'rgb(X, Y, Z)'.
Exemple : c = Couleur(255, 128, 0) repr(c) renvoie 'Couleur(r=255, g=128, b=0)' str(c) renvoie 'rgb(255, 128, 0)'