Как перегрузить операторы (например +, ==) для своего класса?
Уровень: Senior
Ответ
В Python “перегрузка операторов” достигается реализацией специальных методов. Например, чтобы класс A поддерживал сложение `a + b`, нужно определить метод `__add__(self, other)`. Для оператора == – метод `__eq__(self, other)`. Аналогично: __lt__ (<), __le__ (<=), __ne__ (!=), __mul__ (*), __len__ (len()), __getitem__ (obj[key]) и т.д. Эти методы вызываются интерпретатором при использовании соответствующих операторов. Нужно возвращать результат операции (обычно новый объект или логическое значение).