SobesLab логотип SobesLab

Ответ

__str__ должен возвращать “человеко-читаемое” строковое представление объекта, предназначенное для пользователя. __repr__ возвращает “официальное” строковое представление, более однозначное и подробное, предназначенное для разработчика (по возможности такое, что eval(repr(obj)) восстановит объект). Встроенные функции str() и repr() вызывают соответствующие методы. По умолчанию __repr__ есть у всех объектов (наследуется от Object), а __str__ без переопределения просто вызывает __repr__.