Clarify __repr__ and __str__.

This commit is contained in:
Guido van Rossum 2000-12-19 04:18:13 +00:00
parent 5b56765fe7
commit 035f7e88c8
1 changed files with 10 additions and 7 deletions

View File

@ -910,12 +910,15 @@ imported modules are still available at the time when the
\begin{methoddesc}[object]{__repr__}{self}
Called by the \function{repr()}\bifuncindex{repr} built-in function
and by string conversions (reverse quotes) to compute the ``official''
string representation of an object. This should normally look like a
valid Python expression that can be used to recreate an object with
the same value. By convention, objects which cannot be trivially
converted to strings which can be used to create a similar object
produce a string of the form \samp{<\var{...some useful
description...}>}.
string representation of an object. It at all possible, this should
look like a valid Python expression that could be used to recreate an
object with the same value (given an appropriate environment). If
this is not possible, a string of the form \samp{<\var{...some useful
description...}>} should be returned. The return value must be a
string object.
This is typically used for debugging, so it is important that the
representation is information-rich and unambiguous.
\indexii{string}{conversion}
\indexii{reverse}{quotes}
\indexii{backward}{quotes}
@ -928,7 +931,7 @@ by the \keyword{print}\stindex{print} statement to compute the
``informal'' string representation of an object. This differs from
\method{__repr__()} in that it does not have to be a valid Python
expression: a more convenient or concise representation may be used
instead.
instead. The return value must be a string object.
\end{methoddesc}
\begin{methoddesc}[object]{__cmp__}{self, other}