Давайте на примере рассмотрим разницу в использовании методов __repr__
и __str__
.
Результат __str__
должен быть читаемым для человека:
>>> import datetime >>> today = datetime.date.today() >>> str(today) '2021-05-11'
Результат __repr__
должен быть максимально точным:
>>> import datetime >>> today = datetime.date.today() >>> repr(today) 'datetime.date(2021, 5, 11)'
Интерпретатор Python использует __repr__
:
>>> import datetime >>> today = datetime.date.today() >>> today datetime.date(2021, 5, 11)