__repr__
В Python __repr__ является магическим методом, который
определяет строковое представление объекта, которое используется для представления объекта при вызове функции repr() или при выводе объекта на консоль.
При вызове функции print() или print(repr()) будет вызван метод __repr__ для объекта и его строковое представление будет выведено на консоль.
Использование метода __repr__
особенно полезно при отладке, так как позволяет получить информацию о состоянии объекта и его атрибутах.
В данном примере класс Book имеет атрибуты title, author и year, которые инициализируются при создании экземпляра класса. Метод __repr__ возвращает строку, представляющую объект Book в виде:
Book(title='<название>', author='<автор>', year=<год>).