coder

向着架构师进发

深拷贝与浅拷贝

深拷贝是防止数据被传输的过程中,数据被篡改,于是被整个被拷过来,而单用另外的地址与内存

深拷贝

import copy
a = [1,2,3]
c =copy.deepcopy(a)

结果:
id(a)与id(c)不一样
浅拷贝

1.单引用

b = a 

id(b)id(a)一样

2.浅拷贝可变数组

import copy
a = [1,2,3]
b = [1,2]
c = [a,b]
e = copy.copy(c)

id(a)与id(e) 不一样
e是新开一个地址,但是如果a增加了元素,e里面的元素也相对于增加了,因为e里面的a对应着c的元素a

3.浅拷贝不可变Tuple

a = [1,2,3]
b = [1,2]
c = (a,b)
e = copy.copy(c)

id(a)与id(e) 一样
如果a增加了元素,e里面的元素也相对于增加了,因为e里面的a对应着c的元素a
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/budong282712018/article/details/79947926
个人分类: python 扩展知识
上一篇python协程基础知识(四)gevent 的使用
下一篇闭包与装饰函数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭