-
Book Overview & Buying
-
Table Of Contents
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...