__repr____repr__ предоставляет официальное строковое представление объекта, в первую очередь предназначенное для разработчиков и отладки. Он должен возвращать строку, которая в идеале могла бы использоваться для воссоздания объекта.
def __repr__(self):
return f"Point(x={self.x}, y={self.y})"
repr(), интерактивной консолью и отладчиками__str__ не определён__format____format__ контролирует, как объект отображается при использовании встроенной функции format() или f-строк. Он принимает необязательную строку спецификации формата, позволяя гибко форматировать вывод.
def __format__(self, spec):
if spec == "short":
return f"({self.x}, {self.y})"
return f"Point(x={self.x}, y={self.y})"
format(obj, spec) и f-строками вроде f"{obj:short}"__repr__ или __str__, для целей отображения__repr__ ориентирован на разработчика; __format__ — на отображение__repr__ не принимает дополнительные аргументы; __format__ принимает параметр spec__repr__ используется в контексте отладки; __format__ — в контексте форматирования строк__repr__ для предоставления чёткого, воспроизводимого описания твоего объекта для отладки__format__, когда твой объект должен поддерживать несколько форматов отображения или хорошо интегрироваться с системой форматирования PythonМетод __repr__ предназначен в первую очередь для отображения конечному пользователю, тогда как __format__ разработан для отладки и интроспекции разработчиком.
Новый — ещё не проверен сообществом
Вы