我对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],这就是我追求的。
x2 = x1
使得这两个变量x2
,并x1
指向同一个对象。
x1+=1
更改引用x1
(和x2
)基础的对象。
相反,如果您这样做了,x1=x1+1
那么您将创建一个新对象(的结果x1+1
)并将结果分配给x1
only,同时x2
保持不变并引用原始对象。
顺便说一下,这与NumPy无关-这是引用工作的一般方式的结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句