浅拷贝和深拷贝的区别 - 大白话讲解

 时间:2026-02-11 23:14:22

在开发过程中,我们经常有关于对象拷贝的操作,这时候就要面对对象的引用,浅拷贝和深拷贝的选择, 本经验使用python来展现这三种方式的区别


工具/原料

python 3

copy

方法/步骤

引用

因为复杂的对象所占用内存空间较大,如果每次操作都额外开辟空间存储相同数据就太过浪费 - 所以默认方式采用引用的方式

两个对象仅仅名称不一样其余一致 - 指向同一块内存空间

浅拷贝和深拷贝的区别 - 大白话讲解

在涉及到浅拷贝或深考呗的选择中 需要引入copy库函数来进行操作

浅拷贝和深拷贝的区别 - 大白话讲解

浅拷贝 - copy.copy()

在python中浅拷贝对对象外层的操作分为两种情况,内层操作均用引用的方式

1. 该对象最外层是可变的 - 例如列表 - 字典

浅拷贝会额外开辟一个内存空间去存放新的对象

浅拷贝和深拷贝的区别 - 大白话讲解

2. 该对象最外层是不可变的 - 例如元组

浅拷贝此时和引用一致

浅拷贝和深拷贝的区别 - 大白话讲解

深拷贝 - copy.deepcopy()

深拷贝是对对象的完全拷贝

但是进一步的节约内存,也十分容易理解,如果外层数据不可变且内层数据不可变就如同引用一样了,因为整个对象都不可变,赋予新的内存毫无意义即使是使用深拷贝的方法

浅拷贝和深拷贝的区别 - 大白话讲解

注意事项

本经验为学习过程的总结,如有错误,欢迎指正,会立即进行更改~

  • 输入Javac提示不是内部或外部命令_百度经验
  • 坎特伯雷闪电行者怎么过
  • 剑灵寻路教程
  • 英魂之刃怎么卡橙装
  • 如何使用Vs Code汉化中文和快捷键打开浏览器?
  • 热门搜索
    缅怀先烈手抄报的图片 小学生清明节手抄报 爱眼日手抄报内容 植树节手抄报一等奖 食品安全手抄报图片 读书节手抄报内容 法制安全手抄报 家乡的变化手抄报 歌颂祖国手抄报 祖国在我心中手抄报内容