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