Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
发布时间:2016-12-28 来源:查字典编辑
摘要:1.copy.copy浅拷贝只拷贝父对象,不会拷贝对象的内部的子对象。2.copy.deepcopy深拷贝拷贝对象及其子对象一个很好的例子:...

1. copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。

2. copy.deepcopy 深拷贝 拷贝对象及其子对象

一个很好的例子:

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1importcopy

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1a=[1,2,3,4,['a','b']]#原始对象

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1b=a#赋值,传对象的引用

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1c=copy.copy(a)#对象拷贝,浅拷贝

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1d=copy.deepcopy(a)#对象拷贝,深拷贝

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1a.append(5)#修改对象a

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1a[4].append('c')#修改对象a中的['a','b']数组对象

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1print'a=',a

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1print'b=',b

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1print'c=',c

Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)1print'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']]

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新python学习
热门python学习
脚本专栏子分类