我正在尝试添加一个带有数字的类对象,但我对如何添加带有两个数字的类对象感到困惑。例如,这是我假设的 添加 类方法:
class A:
def __add__(self, b):
return something
到目前为止我知道如何添加:
a = A()
print(a + 1)
但是,如果我想这样添加呢?
a = A()
print(a + 1 + 2)
我应该为 添加 类方法使用 *args 吗?
原文由 smith1453 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,您不能使用多个参数。 Python 分别执行每个
+
运算符,两个+
运算符是不同的表达式。对于您的示例,
object + 1 + 2
实际上是(object + 1) + 2
。如果(object + 1)
生成的对象具有__add__
方法,则 Python 将为第二个运算符调用该方法。例如,您可以在此处返回
A
的另一个实例: