Python考试题--第61道题干--浅拷贝(copy)和深复制(deepcopy)的差别--2022年04月16日
原创目录
一、copy和deepcopy的区别:
1、定义:
浅拷贝(copy):仅复制对深层对象的引用
深拷贝(deepcopy):指定深度对象本身。
2.实战代码演示:
列表包含列表元素。当列表元素改变时,如果它们只是浅层副本,则复制的对象也会改变,而深度复制的对象不会改变。
例如:
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没有变化。
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123




