我碰到一個事實,即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