码迷,mamicode.com
首页 > 其他好文 > 详细

深浅拷贝

时间:2016-08-01 12:19:47      阅读:163      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!