浅析python中copy与deepcopy的区别

文章目录

区别

  • 高级语言中变量是对内存及其地址的抽象
  • copy.copy(object), 拷贝的是内嵌套结构的地址引用,当前到结构发生变化的时候,浅拷贝也相应的改变。
  • copy.deepcopy(object),完全复制与变量相关的数据,而不再考虑嵌套结构

python代码举例

import copy
x = [1,2]
y = [3,2,x]
>>>y=[3,2,[1,2]]
z = copy.copy(y)
zz = copy.deepcopy(y)
y.append(10)
>>>y=[3,2,[1,2],10] 这里y增加了一个元素
>>>z=[3,2,[1,2]]但是z没有
x.append(10)
>>>z=[3,2,[1,2,10]]z增加了一个元素
>>>zz=[3,2,[1,2]]但是deepcopy的z
发布了47 篇原创文章 · 获赞 4 · 访问量 2288

猜你喜欢

转载自blog.csdn.net/qq_34107425/article/details/103997580