Sobes.tech
Back to questions
Junior — Middle
62

Почему в Python рекомендуется реализовывать метод __str__ и какова его задача?

Answer from AI

sobes.tech AI

Метод __str__ в Python отвечает за строковое представление объекта, которое удобно читать человеку. Его реализация позволяет при вызове print(obj) или str(obj) получать понятное и информативное описание объекта.

Если __str__ не реализован, Python использует метод __repr__, который часто менее читаем.

Пример:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"Person(name={self.name}, age={self.age})"

p = Person("Иван", 30)
print(p)  # Выведет: Person(name=Иван, age=30)

Таким образом, __str__ улучшает удобство отладки и взаимодействия с объектами.