__str__ — человекочитаемое строковое представление, вызывается print() и str(). __repr__ — однозначное представление для разработчика, вызывается repr() и в интерактивной консоли. Правило: __repr__ должен быть таким, что eval(repr(obj)) воссоздаст объект (в идеале). Если определён только __repr__, он используется как fallback для __str__. Обратное не работает. Всегда определяй __repr__ — для дебага это критично. __str__ — опционально, для юзер-фейсинг вывода.
В чём разница между __str__ и __repr__?
Middle
299 просмотровAFK Offer AI
Как работает BaseModel в Pydantic?