不,您不能使用多个参数。Python分别执行每个
+运算符,这两个
+运算符是不同的表达式。
例如,
object + 1 + 2确实是
(object + 1) + 2。如果
(object +1)产生的对象具有
__add__方法,则Python将为第二个运算符调用该方法。
例如,您可以返回
A此处的另一个实例:
>>> class A:... def __init__(self, val):... self.val = val... def __repr__(self):... return f'<A({self.val})>'... def __add__(self, other):... print(f'Summing {self} + {other}')... return A(self.val + other)...>>> A(42) + 10Summing A(42) + 10<A(52)>>>> A(42) + 10 + 100Summing A(42) + 10Summing A(52) + 100<A(152)>


