Подтвердить что ты не робот

Всеобъемлющее руководство по перегрузке оператора в Python

Есть ли исчерпывающее руководство по перегрузке оператора в любом месте? Предпочтительно онлайн, но книга тоже будет в порядке. Описание операционного модуля оставляет немало, например, включая операторов, которые не могут быть перегружены и отсутствуют операторы r или обеспечивают разумные значения по умолчанию. (Написание этих операторов является хорошей практикой, но по-прежнему относится к хорошей ссылке)

4b9b3361

Ответ 2

Перегрузка оператора Python выполняется путем переопределения определенных специальных методов в любом классе. Это объяснено в справочной системе Python.

Например, чтобы перегрузить оператор сложения:

>>> class MyClass(object):
...     def __add__(self, x):
...         return '%s plus %s' % (self, x)
... 
>>> obj = MyClass()
>>> obj + 1
'<__main__.MyClass object at 0xb77eff2c> plus 1'

Соответствующий раздел в документации Python 3 можно увидеть здесь.