все Python 3ООПфункция
__str__
магические методы
Метод, который вызывают str(obj), print() и f-строка: читаемое представление объекта для человека.
Синтаксис
def __str__(self) -> str: ...
Если __str__ не определён, str() берёт __repr__ — поэтому достаточно определить один __repr__, а __str__ добавлять, когда пользователю нужен другой, «красивый» вид. Контейнеры печатают свои элементы через repr, а не str: print([obj]) покажет __repr__.
Примеры
class Temp:
def __init__(self, c):
self.c = c
def __str__(self):
return f'{self.c} °C'
def __repr__(self):
return f'Temp({self.c})'
t = Temp(21)
print(t) # → 21 °C
print(f'Сейчас {t}') # → Сейчас 21 °C
print([t]) # → [Temp(21)] — элементы списка печатаются через repr
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности