Python_copy_深浅拷贝
对于数字和字符串来说,无论是‘’赋值‘’还是‘’深拷贝‘’还是‘’浅拷贝‘’都是指向的同一个地址
深浅拷贝是copy类下的方法,创建方式为
import copy copy.copy() #浅拷贝 copy.deepcopy() #深拷贝
浅拷贝:
只拷贝一层
import copy dic = {'k1' : 'nihao','k2' : 23,'k3' : ['hello', 89, ]} print(id(dic)) dic1 = dic print(id(dic1)) dic2 = copy.copy(dic) print(id(dic2)) print(id(dic['k3'])) #查看字典第二层的地址 print(id(dic2['k3']))
结果:
5012504 5012504 5012576 33180616 33180616
深拷贝:
深层全部都拷贝
import copy dic = {'k1' : 'nihao','k2' : 23,'k3' : ['hello', 89, ]} print(id(dic)) dic1 = dic print(id(dic1)) dic2 = copy.deepcopy(dic) #深拷贝 print(id(dic2)) print(id(dic['k3'])) print(id(dic2['k3']))
结果:
31095832 31095832 31889304 32328648 32328840
浅拷贝更加节省内存