python赋值,浅拷贝及深拷贝
2017-06-13 16:02
330 查看
直接赋值:其实就是对象的引用(别名)。
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
字典浅拷贝实例
实例
深度拷贝需要引入 copy 模块:
实例
![](http://images2015.cnblogs.com/blog/1123031/201703/1123031-20170323105332346-341380067.png)
2、b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。
![](http://images2015.cnblogs.com/blog/1123031/201703/1123031-20170323105350955-24694016.png)
3、b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。
![](http://images2015.cnblogs.com/blog/1123031/201703/1123031-20170323105418361-983703074.png)
实例
以上实例执行输出结果为:
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
字典浅拷贝实例
实例
实例
解析
1、b = a: 赋值引用,a 和 b 都指向同一个对象。![](http://images2015.cnblogs.com/blog/1123031/201703/1123031-20170323105332346-341380067.png)
2、b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。
![](http://images2015.cnblogs.com/blog/1123031/201703/1123031-20170323105350955-24694016.png)
3、b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。
![](http://images2015.cnblogs.com/blog/1123031/201703/1123031-20170323105418361-983703074.png)
更多实例
以下实例是使用 copy 模块的 copy.copy( 浅拷贝 )和(copy.deepcopy ):实例
相关文章推荐
- python的赋值、浅拷贝和深拷贝
- python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
- Python中的对象赋值、浅拷贝与深拷贝
- python的赋值、浅拷贝和深拷贝
- python 赋值 浅拷贝 深拷贝 与c++ 比较
- python的赋值、浅拷贝和深拷贝
- Python 赋值、浅拷贝、深拷贝的区别?
- python赋值和深浅拷贝
- python 中的赋值、引用、拷贝、作用域
- 深入理解 python 中的赋值、引用、拷贝、作用域
- Python FAQ2:赋值、浅拷贝、深拷贝的区别?
- python的浅拷贝,深拷贝和赋值
- Python的赋值,浅拷贝与深拷贝
- Python——赋值、浅拷贝、深拷贝
- python中的赋值、浅拷贝和深拷贝
- python赋值和拷贝----一切皆对象,参数皆引用
- 关于python的拷贝,赋值理解
- Python之赋值与深浅拷贝
- Python对象赋值、浅拷贝和深拷贝
- python——赋值与深浅拷贝