Python考试题--第61道题干--浅拷贝(copy)和深复制(deepcopy)的差别--2022年04月16日

原创
小哥 3年前 (2022-10-29) 阅读数 11 #大杂烩

目录

一、copy和deepcopy的区别:

2.实战代码演示:


一、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没有变化。

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除