@IIggoorrII

Откуда взялась неконтролируемая рекурсия в методе __repr__?

class c():
    def __repr__(self):
        return f"{self}"

Вот такой простенький кусок кода приводит к бесконечной рекурсии.
Но откуда она?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Думаю, дело в том, что запись f”{self”} пытается вернуть строковую запись объекта. Но строковая запись объекта как раз и возвращается методом __repr__, то-есть самим собой. Вот и получается, что оно само себя вызывает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы