В Python
__repr__ — это специальный метод, часто называемый dunder-методом (сокращение от double underscore). Его основная задача — предоставить официальное строковое представление объекта.Проще говоря,
__repr__ должен возвращать такую строку, которую, в идеале, можно вставить в интерпретатор Python, чтобы воссоздать объект.Метод
__repr__ должен быть однозначным. Он должен ясно передавать, что это за объект, и содержать достаточно информации, чтобы разработчик мог его воспроизвести.В отличие от
__str__, который ориентирован на конечных пользователей и должен быть читаемым, __repr__ предназначен для разработчиков и должен быть точным.В приведённом примере при вызове
print() Python сначала ищет метод str. Но так как определён только __repr__, вызов print(student1) напрямую использует результат student1.__repr__(), который возвращает Student('Mark', 'male')👉 @PythonPortal
