奇妙なことが、私はこのようなことを行うときに、今日たまたま:のpython通過
a = np.array([1, 2, 3])
b = a
b[0] = 0
print a, b
そして値が参照渡しているようです!答えは次のようになります。
result: [0 2 3] [0 2 3]
しかし、通常、私はPythonで変数を次のように、値によって渡されると思う:
a = np.array([1, 2, 3])
b = a
b = np.array([0, 2, 3])
print a, b
そして答えは次のようになります。
result: [1 2 3] [0 2 3]
しかし、なぜですそれは起こっている?変数が参照または値を渡すかどうかを決定するにはどうすればよいですか?何人かは、変更可能なオブジェクトのためだと言ったが、まだそれほど得られていない。それで私のために説明できますか?どうもありがとう!それがnumpyのを行うには直接何も持っていないので
あなたには何が奇妙ですか? – Vallentin
[参照によって変数を渡すにはどうすればいいですか?](http://stackoverflow.com/questions/986006/how-do-i-pass-a-variable-by-reference) – TemporalWolf
割り当て** never * *はPythonでコピーを作成します。それは常にそれがどのように機能するかです。あなたの2番目の例は、あなたの最初のものとまったく同じ* *働いています。 –