Les fonctions intégrées repr () et str () appellent respectivement les méthodes object .__ repr __ (self) et object .__ str __ (self). La première fonction calcule la représentation formelle de l`objet et la seconde renvoie la représentation informelle de l`objet.
Le résultat des deux fonctions est le même pour un objet entier.
> > > x = 1 > > > repr (x) `1` > > > str (x) `1`
Cependant, cela ne s`applique pas à l`objet chaîne.
> > > x = "Bonjour" > > > repr(x) "`Bonjour`"> > > str (x) `Bonjour`
La valeur de retour repr () d`un objet chaîne peut être évaluée par la fonction eval (), résultant en un objet chaîne valide. Cependant, le résultat de str() ne peut pas être évalué.
> > > y1 = repr(x) > > > eval (y1) `Bonjour` > > > y2 = chaîne (x) > ; > > eval (y2) NameError : le nom `Hello` n`est pas défini
Généraliser. repr () renvoie une représentation standard et sans ambiguïté d`un objet, où comme str () donne une représentation informelle qui peut être lisible, mais pas toujours sans ambiguïté.