Урок 16: Ещё магические методы — __eq__ и __len__
В уроке 5 вы обнаружили, что __str__ учит print разговаривать с вашим объектом. Сегодня мы расширяем магию: __eq__ учит == сравнивать объекты по содержимому, а __len__ учит len() их измерять. Ваши объекты становятся полноправными гражданами языка.
Две купюры по 100 шекелей «равны», хотя это разные кусочки бумаги — __eq__ учит Python сравнивать именно так: по стоимости, а не по бумаге.
- __eq__
- Магический метод, выполняющийся автоматически при сравнении == — определяет, когда два объекта считаются равными.
- __len__
- Магический метод, выполняющийся автоматически при len() — определяет, что такое «длина» объекта.