Как правильно реализовать __repr__?
Правильная реализация метода __repr__ в классах Python является признаком хорошего тона и существенно упрощает процесс отладки кода. Главная задача этого метода заключается в создании однозначного строкового представления объекта, которое четко описывает его текущее состояние и помогает разработчику быстро понять, с какими данными он работает в данный момент.
Идеальным считается такой вариант реализации, при котором возвращаемую строку можно скопировать и вставить в интерпретатор для точного воссоздания точно такого же объекта, хотя на практике это достижимо не всегда из-за сложности внутренних структур. Тем не менее, общепринятым стандартом проектирования является использование шаблона f'ClassName(x={self.x!r})', где обязательное применение восклицательного знака и буквы r вызывает __repr__ для внутренних атрибутов.
При написании этого метода крайне важно соблюдать несколько технических рекомендаций для обеспечения высокой производительности приложения.
Соблюдение этих простых правил избавит вас от лишней рутины и сделает поддержку кодовой базы значительно более комфортной для всей команды.