浅拷贝:
例如,现在有一个A = 2,而2就保存在下面黄色这个地址里面:
python中直接用B=A的话,就是浅拷贝操作,代码如下
A = 1
B = A
B = 2
print("A")#A = 2
print("B")#B = 2
创建B=A时,相当于,如下操作:
在原来的黄色地址上,又添加了一个索引B,所以A、B都是指向同一个地址,修改B的值,相当于修改B指向的地址的值,所以A 就跟着也被修改了
深拷贝:
而python中的深拷贝:代码如下
B = A.copy()
深拷贝操作就是用一个新的蓝色地址,去复制A所在的黄色地址的内容,再给蓝色的地址添加一个索引B
所以修改B的值相当于修改蓝色地址的值,并不会影响黄色地址的内容
A = 1
B = A.copy()
B = 2
print("A")#A = 1
print("B")#B = 2