Python 拷贝

一、数字字符串拷贝

 1 # 字符串,数字
 2 a1 = 123123
 3 a2 = 123123
 4 #此时 id(a1) = id(a2)
 5 
 6 
 7 #对于数字或字符串来说,无论深浅拷贝内存id都不变。
 8 #其它,列表,字典,元祖。
 9 n1 = {"k1":"wo","k2":"hao","k3":[1,2,3]}
10 n2 = n1
11 #此时n1 = n2

二、浅拷贝。

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

  

三、深拷贝

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

原文地址:https://www.cnblogs.com/Presley-lpc/p/9185106.html