Python Glossary English

все Python 3ООПфункция

__repr__

магические методы

Метод, который вызывают repr(obj) и консоль: однозначное представление объекта для разработчика.

Синтаксис

def __repr__(self) -> str: ...

Хороший __repr__ похож на выражение, которым объект можно создать заново: Point(1, 2). Он же служит запасным __str__, поэтому определяют его в первую очередь. Встроенная заглушка выводит <__main__.Point object at 0x…> — ни отладке, ни логам от неё пользы нет.

Примеры

class Point:
    def __init__(self, x, y):
        self.x, self.y = x, y
    def __repr__(self):
        return f'Point({self.x!r}, {self.y!r})'
p = Point(1, 2)
print(repr(p))  # → Point(1, 2)
print(p)  # → Point(1, 2) — __str__ нет, взят __repr__
print(f'{p!r}')  # → Point(1, 2)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности