首页 > 其他 > 详细

深浅拷贝

时间:2016-08-01 12:16:48      阅读:190      评论:0      收藏:0      [点我收藏+]

copy浅拷贝,拷贝值和指针,对象的属性还是引用原来的

deepcopy拷贝一个对象,把对象里面的属性也做了拷贝,deepcopy之后完全是另一个对象

 

#encoding=utf-8

import copy

alist=[[1],[2],[3]]

blist=copy.copy(alist)  #浅拷贝(只受原对象的值影响,不受指针影响)

clist=copy.deepcopy(alist) #深拷贝(不受原对象影响,是一个新对象)

print ‘>>before‘

print alist,id(alist)

print blist,id(blist)

print clist,id(clist)

 

alist[0][0]=0  #修改的是值,指针不变

alist[1]=None   #指针已改变

print ‘>>after

print alist,id(alist)   

print blist,id(blist)

print clist,id(clist)

打印结果

技术分享

 

深浅拷贝

原文:http://www.cnblogs.com/anne32184/p/5724936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!