码迷,mamicode.com
首页 > 编程语言 > 详细

【转】python的浅拷贝和深拷贝

时间:2017-10-07 16:11:00      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:别名   pytho   imp   实例   mic   code   [1]   对象   class   

 

直接赋值:其实就是对象的引用(别名)。

浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。

深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

 

字典浅拷贝实例

>>>a = {1: [1,2,3]}
>>> b = a.copy()
>>> a, b
({1: [1, 2, 3]}, {1: [1, 2, 3]})
>>> a[1].append(4)
>>> a, b
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})

深度拷贝需要引入 copy 模块:

1 >>>import copy
2 >>> c = copy.deepcopy(a)
3 >>> a, c
4 ({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
5 >>> a[1].append(5)
6 >>> a, c
7 ({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})

【转】python的浅拷贝和深拷贝

标签:别名   pytho   imp   实例   mic   code   [1]   对象   class   

原文地址:http://www.cnblogs.com/twilight77/p/7634752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!