По умолчанию, когда IPython отображает объект, он, кажется, использует __repr__.
__repr__ предполагается создать уникальную строку, которая может быть использована для восстановления объекта с учетом правильной среды.
Это отличается от __str__, который должен обеспечивать считываемый человеком вывод.
Теперь предположим, что мы написали конкретный класс, и мы хотели бы, чтобы IPython выдавал удобочитаемый вывод по умолчанию (т.е. без явного вызова print или __str__).
Мы не хотим выдумывать это, делая наше задание класса __repr__ do __str__.
Это нарушит правила.
Можно ли указать IPython для вызова __str__ по умолчанию для определенного класса?