Python Glossary English

все 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Сообщить о неточности