深淺拷貝

copy淺拷貝,拷貝值和指針,對象的屬性仍是引用原來的spa

deepcopy拷貝一個對象,把對象裏面的屬性也作了拷貝,deepcopy以後徹底是另外一個對象指針

 

#encoding=utf-8對象

import copyblog

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

blist=copy.copy(alist)  #淺拷貝(只受原對象的值影響,不受指針影響)import

clist=copy.deepcopy(alist) #深拷貝(不受原對象影響,是一個新對象)cli

print '>>before'coding

print alist,id(alist)引用

print blist,id(blist)im

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)

打印結果

相關文章
相關標籤/搜索