Why does python/numpy's += mutate the original array?

前端 未结 4 1248
我寻月下人不归
我寻月下人不归 2020-12-02 01:40
import numpy as np

W = np.array([0,1,2])
W1 = W
W1 += np.array([2,3,4])
print W

W = np.array([0,1,2])
W1 = W
W1 = W1 + np.array([2,3,4])
print W

4条回答
  •  囚心锁ツ
    2020-12-02 02:25

    Essentially, + and += are different methods that any class can implement. In numpy, += is implemented to do in memory changes, while + returns a new array.

    More details in this question.

提交回复
热议问题