Python中实现浅拷贝与深拷贝的区别及其代码实现
发布时间
阅读量:
阅读量
Python赋值机制解析
- 总结
-
一、概念解析
-
- 赋值:沿用原有内容进行存储
- 浅拷贝:使用新的容器保存原有数据
- 深拷贝:采用全新的容器装载全新的数据
-
二、实例验证
-
- 实验方式
- 直接赋值操作
- 实施浅层复制
- 进行深度复制
-
补充材料:完整代码示例
-
关于赋值、浅拷贝与深拷贝的探讨
总结
- 赋值: 创建一个指向原对象内存地址的引用,该操作不会为对象本身分配新的存储空间;
- 浅拷贝: 建立对原对象第一层级子元素内存地址的多个引用,此过程需为对象本身分配新的存储区域;
- 深拷贝: 将原对象中所有层级的子元素数据进行复制,每一项数据都将被分配独立的存储空间。
一、概念解析与界定
赋值:旧瓶装旧酒
在执行复制操作时,最为基础的方式便是赋值操作,其本质是创建一个对象的引用,即新生成的对象与原对象共同指向相同的内存地址,(整体指向)该过程仅增加了引用计数,并未产生新的内存分配。
由此可知,当其中一个对象发生改变时,另一个对象也会随之发生变化。
浅拷贝:新瓶装旧酒
浅拷贝从字面意思上理解,即为一种较为浅层的复制方式。我们可以将赋值行为视为创建了一个新对象的引用,即将原有对象所占据内存空
全部评论 (0)
还没有任何评论哟~
