-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Mastering Object-oriented Python
By :

Python has two string representations of an object. These are closely aligned with the built-in functions repr()
, str()
, print()
, and the string.format()
method.
Generally, the str()
method representation of an object is commonly expected to be more friendly to humans. This is built by an object's __str__()
method.
The repr()
method representation is often going to be more technical, perhaps even a complete Python expression to rebuild the object. The documentation says:
For many types, this function makes an attempt to return a string that would yield an object with the same value when passed to
eval()
.
This is built by an object's __repr__()
method.
The print()
function will use str()
to prepare an object for printing.
The format()
method of a string can also access these methods. When we use {!r}
or {!s}
formatting, we're requesting __repr__()
or __str__()
, respectively.
Let's look at the default implementations first.
The following is a simple class hierarchy...