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