>>> languages = ["Python", "Java", "C++", "Perl"]
>>> str(languages)
"['Python', 'Java', 'C++', 'Perl']"
>>>
>>> s = "1st line\n2ndline"
>>> str(s)
'1st line\n2ndline'
>>> repr(s)
"'1st line\\n2ndline'"
Wenn man str oder repr auf ein Objekt anwendet, sucht Python nach den entsprechenden Methoden __str__ oder __repr__ in der Klassendefintion, ansonsten wird die Default-Ausgabe genutzt, falls __str__ und __repr__ nicht definiert sind.
>>> class A:
... pass
...
>>> a = A()
>>> print(a)
<__main__.A object at 0xb720a64c>
>>> print(repr(a))
<__main__.A object at 0xb720a64c>
>>> print(str(a))
<__main__.A object at 0xb720a64c>