Python 改变+;要操作其他东西吗?

Python 改变+;要操作其他东西吗?,python,symbols,addition,Python,Symbols,Addition,如何在python中更改symbol+(键盘上的按钮)以操作自定义def而不是默认添加?类上的数字操作委托给。只需在类上实现它们即可执行所需的操作 class MyClass(object): def __add__(self, other): ... 请注意,当操作数或两个操作数都是现有类型时,无法更改标准运算符的行为。类上的数值操作被委派给。只需在类上实现它们即可执行所需的操作 class MyClass(object): def __add__(self, other)

如何在python中更改symbol+(键盘上的按钮)以操作自定义def而不是默认添加?

类上的数字操作委托给。只需在类上实现它们即可执行所需的操作

class MyClass(object):
  def __add__(self, other):
     ...

请注意,当操作数或两个操作数都是现有类型时,无法更改标准运算符的行为。

类上的数值操作被委派给。只需在类上实现它们即可执行所需的操作

class MyClass(object):
  def __add__(self, other):
     ...

请注意,当操作数或两个操作数都是现有类型时,无法更改标准运算符的行为。

可以在类上实现以下一个或多个方法:

  • \uuuu add\uuuu
    -当您有
    (您的对象)+(其他一些对象)
  • \uuuu radd\uuuu
    -当您有
    (其他对象)+(您的对象)
    而其他对象不知道如何进行添加时,处理该情况
  • \uu iadd\uu
    -处理
    (您的对象)+=(某些对象)
    。您不一定需要实现这一点,因为如果不需要,Python将调用
    \uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

对于其他操作(数学操作和其他操作),有相应的“魔术”方法。

您可以在类上实现以下一个或多个方法:

  • \uuuu add\uuuu
    -当您有
    (您的对象)+(其他一些对象)
  • \uuuu radd\uuuu
    -当您有
    (其他对象)+(您的对象)
    而其他对象不知道如何进行添加时,处理该情况
  • \uu iadd\uu
    -处理
    (您的对象)+=(某些对象)
    。您不一定需要实现这一点,因为如果不需要,Python将调用
    \uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

对于其他运算,无论是数学运算还是其他运算,都有相应的“魔法”方法。

出于兴趣,你打算让+符号做什么?模糊算术,例如5+2>>7,但在模糊算术中是7,函数跟在数字7后面。因为似乎还没有人提到它,您要做的是称为运算符重载,以了解哪些运算符可以重载。请下面回答中的某人指示我,我的按钮+(按下shift和+)可以更改为自定义def。我知道这听起来可能有点奇怪,但我只需要更改一个按钮键盘来操作我的custon def,然后我就可以用python(2.7.3)编写脚本了。@StavrosAnastasiadis:你需要添加更多信息。你在哪里输入这个?出于兴趣,你打算+符号做什么?模糊算术,例如5+2>>7,但在模糊算术中是7,函数跟在数字7后面。因为似乎还没有人提到它,您要做的是称为运算符重载,以了解哪些运算符可以重载。请下面回答中的某人指示我,我的按钮+(按下shift和+)可以更改为自定义def。我知道这听起来可能有点奇怪,但我只需要更改一个按钮键盘来操作我的custon def,然后我就可以用python(2.7.3)编写脚本了。@StavrosAnastasiadis:你需要添加更多信息。你在哪里打这个?