difference between __str__ and __repr__ code example
Example 1: __repr__ or __str__
very briefly
- The default implementation is useless (it’s hard to think of one which wouldn’t be, but yeah)
- __repr__ goal is to be unambiguous
- __str__ goal is to be readable
- Container’s __str__ uses contained objects’ __repr__
see source for more info
Example 2: difference between __str__ and __repr__
>>> import datetime
>>> now = datetime.datetime.now()
>>> now.__str__()
'2020-12-27 22:28:00.324317'
>>> now.__repr__()
'datetime.datetime(2020, 12, 27, 22, 28, 0, 324317)'