print OBJECT calls OBJECT.__str__(), then when OBJECT.__repr__() is called? I see that print OBJECT calls OBJECT.__
print OBJECT
OBJECT.__str__()
OBJECT.__repr__()
OBJECT.__
repr(obj) calls obj.__repr__.
repr(obj)
obj.__repr__
This is intended to clearly describe an object, specially for debugging purposes. More info in the docs