Как переопределить строковое представление объекта для разработчиков?

Переопределите __repr__, возвращающий строку с однозначным и полезным для диагностики представлением объекта. Не включайте в него пароли, токены и лишние персональные данные.

Короткий ответ

Что ответить на собеседовании

Переопределите repr, возвращающий строку с однозначным и полезным для диагностики представлением объекта. Не включайте в него пароли, токены и лишние персональные данные.

Подробный разбор

Ответ с пояснениями

Переопределите repr, возвращающий строку с однозначным и полезным для диагностики представлением объекта. Не включайте в него пароли, токены и лишние персональные данные.

Например:

class Point:
    def __init__(self, x, y):
        self.x, self.y = x, y

    def __repr__(self):
        return f"Point(x={self.x!r}, y={self.y!r})"

Такое представление используется repr() и часто отображается внутри коллекций. В отличие от str, ориентированного на пользователя, repr обычно раскрывает тип и ключевые поля. Строка не обязана быть исполняемым выражением, но должна помогать понять состояние объекта.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее