27
我知道有关__add__
方法重写加,但是当我使用重写+ =,我结束了两个问题中的一个:有没有办法在python中重载+ =?
(1)如果__add__
变异自,然后
z = x + y
会突变x,当我不想让x在那里发生变异时。
(2)如果__add__
返回一个新的对象,然后
tmp = z
z += x
z += y
tmp += w
return z
将返回没有的东西,因为W¯¯后z += x
z和TMP指向不同的对象被执行。
我可以做一些.append()
方法,但如果可能的话,我宁愿重载+=
。
RTFM是一种濒危物种的程序员。 – tzot 2009-04-08 22:21:18
@zot在某种程度上,你正在寻找F'ing M. ;-) – 2016-04-02 09:24:35