Chapitre 12. Méthodes spéciales pour l’affichage
- Par Richard Gomez
Pages 245 à 264
Citer ce chapitre
- GOMEZ, Richard,
- Gomez, Richard.
- Gomez, R.
Citer ce chapitre
- Gomez, R.
- Gomez, Richard.
- GOMEZ, Richard,
Ce chapitre est consacré aux méthodes spéciales repr, str et format. Ces méthodes sont appelées quand on transforme un objet en chaîne de caractères avec repr, str ou format (en particulier quand on affiche un objet).
Quand on tape
sur le shell, suivi de entrer, Python affiche la chaîne repr(x).
La chaîne repr(x) est, par définition, la représentation officielle de x sous forme de chaîne. On dit aussi représentation formelle. Cette chaîne est utilisée par le programmeur plutôt que par l’utilisateur du programme.
Derrière la fonction repr se cache la méthode spéciale repr : l’appel repr(x) retourne x. _ _repr_ _().
Quand on surcharge cette méthode, l’usage veut que la chaîne retournée contienne l’information nécessaire permettant de reconstituer l’objet. Dans l’idéal, on devrait avoir eval(repr(x)) égal à x. L’exemple ci-dessous suit cette recommendation :Attention. Si la méthode repr ne retourne pas une chaîne de caractères, Python lève une exception. Testons notre programme :
Ici tout va bien : repr(a) permet clairement de construire un objet équivalent à a.Note. C’est dans cet esprit qu’est surchargé repr dans les types range et slice.
On notera un petit défaut dans notre représentation formelle des points du plan :
Si on dérive Point sans surcharger repr, le résultat n’est pas terrible :
On aurait dû surcharger repr dans Point comme ceci :
Le lecteur testera cette version sur un Point et sur un PointColoré.
Il y a des cas où il est difficile de suivre la recommandation «…
Date de mise en ligne : 23/02/2023
Ce chapitre est en accès conditionnel
Acheter cet ouvrage
35,99 €
Acheter ce chapitre
5,00 €