更改+符号以操作其他内容?

时间:2013-12-03 23:50:44

标签: python symbols addition

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

2 个答案:

答案 0 :(得分:3)

您可以在班级上实施以下一种或多种方法:

  • __add__ - 处理(your object) + (some other object)
  • 时的情况
  • __radd__ - 当你有(some other object) + (your object)并且另一个对象不知道如何进行添加时处理这种情况。
  • __iadd__ - 处理(your object) += (some object)。您不一定需要实现此功能,因为如果您不这样做,Python将调用__add__

对于其他操作,有相应的“魔法”方法,数学和其他,see here

答案 1 :(得分:2)

对类的数字操作委派给various methods。只需在您的班级上实施它们即可执行所需的操作。

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

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