Как изменить символ + (кнопка на клавиатуре) в python для управления вашим пользовательским def, а не добавлением по умолчанию?Изменить символ + для управления чем-то еще?
1
A
ответ
2
Числовые операции над классами делегированы various methods. Просто выполните их на своем классе, чтобы выполнить требуемую операцию.
class MyClass(object):
def __add__(self, other):
...
Обратите внимание, что вы не можете изменить поведение стандартных операторов, когда операнд или оба операнда являются существующими типами.
3
Вы можете реализовать один или несколько из следующих методов на классе:
__add__
- обрабатывает случай, когда у вас есть(your object) + (some other object)
__radd__
- обрабатывает случай, когда у вас есть(some other object) + (your object)
, а другой объект Безразлично Не знаю, как это сделать.__iadd__
- ручки(your object) += (some object)
. Вы не обязательно должны это реализовать, поскольку Python будет звонить__add__
, если вы этого не сделаете.
Существуют соответствующие «магические» методы для других операций, математических и иных, see here.
Из интереса, что вы намерены использовать для символа +? – OGHaza
нечеткая арифметика, например. 5 + 2 >> 7, но в нечеткой арифметике есть 7 с функцией, следующей за номером 7. –
Как никто, похоже, не упомянул об этом, то, что вы хотите сделать, называется перегрузкой оператора [и это хорошая ссылка] (http: //rgruet.free.fr/PQR26/PQR2.6.html#SpecialMethods), чтобы узнать, какие операторы вы можете перегрузить. –