Python 拷贝

一、数字字符串拷贝

# 字符串,数字
a1 = 123123
a2 = 123123
#此时 id(a1) = id(a2)


#对于数字或字符串来说,无论深浅拷贝内存id都不变。
#其它,列表,字典,元祖。
n1 = {"k1":"wo","k2":"hao","k3":[1,2,3]}
n2 = n1
#此时n1 = n2

二、浅拷贝。

n3 = copy.copy(n1)
#此时的拷贝只拷贝第一层,但是数字和字符串永远是用的原地址的。
#此时id(n1) != id(n3)
#id(n1['k3']) = id(n3['k3'])

  

三、深拷贝

n4 = copy.deepcopy(n1)
#此时拷贝为拷贝字符串外所有层,但是数字和字符串永远是用的源地址的
#此时id(n1) != id(n4)
#id(n1['k3']) != id(n4['k3'])
#id(n1['k3'][0]) = id(n4['k3'][0])

猜你喜欢

转载自www.cnblogs.com/Presley-lpc/p/9185106.html