目录
一、copy和deepcopy的区别:
二、实 *** 代码演示:
一、copy和deepcopy的区别:
1、定义:
浅拷贝(copy):只复制深层对象的引用
深拷贝(deepcopy):赋值深层对象的本身
二、实 *** 代码演示:一个列表中包含列表元素,当列表元素发生改变时,如果只是浅拷贝,拷贝后的对象也会变化,而深拷贝的对象是不会改变的。
举例说明:
import copy
a = [1,2,3, [4,5,6]]
c = copy.copy(a) # 浅拷贝
d = copy.deepcopy(a) # 深拷贝
print('a,c,d没有区别')
print(a)
print(c)
print(d)
a[2] = 'tt'
print('c,d没有区别')
print(a)
print(c)
print(d)
a[3][0] = 'haha'
print('c,d有区别')
print(a)
print(c)
print(d)
执行结果如下图:
总结:
a是肯定改变的,c因为是a的深层对象的引用,所以a改变了a[2]="tt",但是c没有改变。但是a改变了a[3][0] = 'haha',c也发生变化了。
d是开始时对a的完全复制,然后就跟a没有关系了,所以a改变,d没有变化。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)