Встречается на собеседованиях • сегодня
В чем разница между __str__ и __repr__
Оба метода используются для строкового представления объекта, но с разными целями:
__repr__ - "официальное" строковое представление объекта, предназначенное для разработчиков. Должно быть максимально информативным и однозначным (желательно, чтобы по нему можно было воссоздать объект). Используется при вызове repr(obj) и в REPL.
__str__ - "неформальное" строковое представление для пользователей. Используется при вызове str(obj) и print(obj).
Пример:
python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return f"Point({self.x}, {self.y})"
def __str__(self):
return f"({self.x}, {self.y})"
p = Point(1, 2)
print(repr(p)) # Point(1, 2)
print(str(p)) # (1, 2)
print(p) # (1, 2) - использует __str__Если __str__ не определен, Python использует __repr__ как fallback.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы