__str__ в классе, необходимо создать метод с именем __str__ в этом классе.  Этот метод должен возвращать строковое представление объекта.  Пример:
  
class MyClass:
    def __init__(self, value):
        self.value = value
    def __str__(self):
        return f"Объект MyClass со значением: {self.value}"
  Метод __str__ в Python используется для представления объекта класса в виде строки.  Он вызывается функцией str() и, как правило, должен возвращать удобочитаемое представление объекта, предназначенное для отображения пользователю.
Чтобы переопределить метод __str__ в классе, нужно создать метод с именем __str__ внутри определения класса и реализовать в нем логику, которая будет возвращать желаемое строковое представление объекта.
Вот пример:
class MyClass:
    def __init__(self, name, value):
        self.name = name
        self.value = value
    def __str__(self):
        return f"MyClass object: name={self.name}, value={self.value}"
# Пример использования
obj = MyClass("Example", 42)
print(str(obj))  # Выведет: MyClass object: name=Example, value=42
print(obj)       # Тоже выведет: MyClass object: name=Example, value=42  (так как print неявно использует str())
Важно:
__str__ должен возвращать строку.  Попытка вернуть что-либо другое приведет к ошибке TypeError.__str__ не определен в классе, Python использует метод __repr__ для строкового представления объекта. Если и __repr__ не определен, то будет использовано стандартное представление объекта (например, <__main__.MyClass object at 0x7f...>).__str__ предназначен для *человекочитаемого* представления объекта, а __repr__ предназначен для *однозначного* представления (например, для отладки и логирования).  В идеале, __repr__ должен возвращать строку, которую можно использовать для создания нового объекта, идентичного исходному (например, MyClass("Example", 42)).