python深拷贝和浅拷贝的区别

如题所述

深度拷贝,就是把拷贝对象里所有的东西全部另存一份到新的内存空间,拷贝完后,两者毫无联系,从此是路人。跟我们的常识理解是一回事。
浅拷贝,就是把拷贝对象的地址给了需要拷贝的对象,看上去两个是不同的对象,其实本质都是一回事,也有另外一种浅拷贝,看上去,确实复制了一份新的,但这个新的对象,是个可变对象,它指向的对象内容,仍然没有复制过来,仍然指向了同一个东西。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-13
1.copy.copy浅拷贝只拷贝父对象,不会拷贝对象的内部的子对象。2.copy.deepcopy深拷贝拷贝对象及其子对象一个很好的例子:importcopya=[1,2,3,4,['a','b']]#原始对象b=a#赋值,传对象的引用c=copy.copy(a)#对象拷贝,浅拷贝d=copy.deepcopy(a)#对象拷贝,深拷贝a.append(5)#修改对象aa[4].append('c')#修改对象a中的['a','b']数组对象print'a=',aprint'b=',bprint'c=',cprint'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']]

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网