Python copy and deepcopy

 

Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。 
1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。 
2. copy.deepcopy 深拷贝 拷贝对象及其子对象 

 

#!python2
#-*- cpding:utf-8 -*-

import copy

a=[1,2,3,4,['a','b']]
#赋值
b=a
##对象拷贝,浅拷贝 
c=copy.copy(a)
#对象拷贝,深拷贝
d=copy.deepcopy(a)

a.append(5)
a[4].append('c')

print "a=",a
print "b=",b
print "c=",c
print "d=",d

a= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b= [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c= [1, 2, 3, 4, ['a', 'b', 'c']]
d= [1, 2, 3, 4, ['a', 'b']]

 

posted on 2016-12-24 19:15  大大的橙子  阅读(263)  评论(0编辑  收藏  举报

导航