Пример
class User:
def __init__(self, name: str, active: bool) -> None:
self.name = name
self.active = active
def __str__(self) -> str:
status = "active" if self.active else "inactive"
return f"User(name={self.name}, status={status})"
Разбор
str(user) и print(user) будут использовать __str__.
Суммируя:
__str__ обеспечивает удобочитаемое представление объекта.
- Это полезно для журналов и вывода CLI.
- Оно должно быть коротким и читабельным.
Итог
str(user) и print(user) будут использовать __str__.