Numpy和+ =效果

时间:2014-02-20 16:18:05

标签: python numpy

我对Python 3.3.3和NumPy不了解的东西:

from numpy import *
x1 = zeros(1)
x2 = x1
x1+=1

事实证明,这使得x1和x2变量[1],我不明白。如果你改为x1 = x1 + 1,那么我得x1为[1]而x2为[0],这就是我所追求的。

1 个答案:

答案 0 :(得分:5)

x2 = x1使变量x2x1都引用同一个对象。

x1+=1更改了引用x1(和x2)下的对象。

相反,如果您执行x1=x1+1,则创建对象(x1+1的结果),并仅将结果分配给x1,而{ {1}}保持不变,并引用原始对象。

顺便说一句,这与NumPy无关 - 这是参考工作的一般方式的结果。