我碰到一个事实,即numpy
阵列通过引用在多个地方通过,但后来当我执行下面的代码,为什么会出现我使用的foo
行为和bar
numpy数组是否通过引用传递?
import numpy as np
def foo(arr):
arr = arr - 3
def bar(arr):
arr -= 3
a = np.array([3, 4, 5])
foo(a)
print a # prints [3, 4, 5]
bar(a)
print a # prints [0, 1, 2]
之间的差异来python 2.7和numpy版本1.6.1
相关:http://stackoverflow.com/q/9047111/166749 – 2012-07-20 19:58:45
这个东西Python调用“引用”与传递引用无关,这就是为什么。 – delnan 2012-07-20 20:06:06