Вопрос проверяет понимание протоколов представления объектов и различий между пользовательским и отладочным выводом.
Короткий ответ
__str__ предназначен для человекочитаемого вывода. __repr__ — для технического представления объекта. __repr__ используется в отладке и интерактивной консоли. Если __str__ не определён, Python использует __repr__. Обычно __repr__ должен быть максимально информативным.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.