一、数字字符串拷贝
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])