import numpy as np

# 对象的副本或视图
# ------------------------------------------------------------------------------
a = np.array([1, 2, 3, 4])
b = a
# print(b)
a[2] = 0
# print(b)
# 把数组a赋给数组b，实际上不是为a创建副本，b只不过是调用数组a的另外一种方式。事实上，修改a的第三个元素，同样会修改b的第三个元素。数组切片操作返回的对象只是原数组的视图

c = a[0:2]
# print(c)
a[0] = 0
# print(c)
# 如上所见，即使是切片操作得到的结果，实际上扔指向相同的对象。
# 如果想为原数组生成一份完整的副本，从而得到一个不同的数组，使用copy()函数即可

a = np.array([1, 2, 3, 4])
c = a.copy()
# print(c)
a[0] = 0
# print(c)
