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