Python类可以应用双向重载吗?

时间:2015-04-10 13:15:35

标签: python class

我不知道该怎么称呼所以请耐心等待。

现在我有一个类/对象,我重载了乘法运算符def __mul__(self, secondthing):,所以如果我myObject * 4它知道如何处理它。

但是,如果我做4 * myObject,它不知道该怎么做,反之亦然。

1 个答案:

答案 0 :(得分:2)

您可以实施__rmul__

  

调用这些方法来实现二进制算术运算(+, - ,*,/,%,divmod(),pow(),**,<<,>>,&,^, |)与反射(交换)操作数。仅当左操作数不支持相应操作且操作数类型不同时,才会调用这些函数。