Chapitre d’ouvrage

Chapitre 12. Méthodes spéciales pour l’affichage

Pages 245 à 264

Citer ce chapitre


  • Gomez, R.
(2022). Chapitre 12. Méthodes spéciales pour l’affichage. Le petit Python orienté objet : Programmation orientée objet avec Python 3 (p. 245-264). Ellipses. https://stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-245?lang=fr.

  • Gomez, Richard.
« Chapitre 12. Méthodes spéciales pour l’affichage ». Le petit Python orienté objet Programmation orientée objet avec Python 3, Ellipses, 2022. p.245-264. CAIRN.INFO, stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-245?lang=fr.

  • GOMEZ, Richard,
2022. Chapitre 12. Méthodes spéciales pour l’affichage. In : Le petit Python orienté objet Programmation orientée objet avec Python 3. Paris : Ellipses. Références sciences, p.245-264. URL : https://stm.cairn.info/le-petit-python-oriente-objet--9782340064065-page-245?lang=fr.

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 €

828 pages, format électronique (HTML et feuilletage, par chapitre)

Acheter ce chapitre

5,00 €

20 pages format électronique (HTML et feuilletage)
Membre d'une institution cliente ?