other
- это не что иное, как имя аргумента.Вы можете называть это как хотите, хотя методы и правила подчиняются некоторым соглашениям, чтобы сделать код более понятным.
Вот некоторые имена аргументов, которые обычно имеют особое значение.
self
: аргумент, ожидаемый в качестве экземпляра, из которого был вызван метод
other
: аргумент, ожидаемый в качестве экземпляра класса, но не тот, который вызывает метод
cls
: сам класс
В частности, метод __add__
вызывается оператором +
.
self + other
... это то, что вызывает ...
self.__add__(other)
Пример
class MyNumber(int):
def __add__(self, other):
print('I am', self)
print('I encountered', other)
return super().__add__(other)
x = MyNumber(2)
y = MyNumber(3)
x + y
Вывод
I am 2
I encountered 3