1、一点也没有复制:b = a
b = a并没有新的对象被创建,b和a都指向相同的对象,用id()可以验证出a和b的指向是相同的。此时,如果改变b,a也就随之改变
>>> a = np.arange(10)
>>> a
>>> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> b = a
>>> b
>>> array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> id(a)
>>> 1979399083232
>>> id(b)
>>> 1979399083232
>>> b is a
>>> True
>>> b[5]=999
>>> b
>>> array([ 0, 1, 2, 3, 4, 999, 6, 7, 8, 9])
>>> a
>>> array([ 0, 1, 2, 3, 4, 999, 6, 7, 8, 9])
2、View()浅拷贝(Shallow Copy)
c = a.view()创建了一个新的对象,但是这两个对象共享相同的数据,c和a都可以对数据的数值进行修改,但是改变c的shape,a的shape并不会改变