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

浅拷贝更加节省内存

上一篇:Python档案袋( 命令行操作 及 Os与Shutil文件操作补充 )


下一篇:js便签笔记(13)——jsonp事实上非常easy【ajax跨域请求】