考虑以下Python代码:
import numpy
a = numpy.random.rand(3,4)
b = numpy.random.rand(3,4)
c = a
c += b
c/2. - (a + b)/2.
Run Code Online (Sandbox Code Playgroud)
最后一行的结果不是带零的数组.但是,如果我这样做:
d = a
d = d + b
d/2. - (a + b)/2.
Run Code Online (Sandbox Code Playgroud)
然后结果为0,如预期的那样.这看起来很奇怪,任何人都可以解释一下这种行为吗?使用+=, /=, ...numpy数组是否明智?谢谢!
(这只是一个最小的例子,我必须添加几个数组.)