Python中浅拷贝copy与深拷贝deepcopy的简单理解


Posted in Python onOctober 26, 2018

以下是个人对Python深浅拷贝的通俗解释,易于绕开复杂的Python数据结构存储来进行理解!

  1. 高级语言中变量是对内存及其地址的抽象,Python的一切变量都是对象。
  2. 变量的存储采用了引用语义的方式,存储的只是一个变量的值所对应的地址信息。
  3. 变量的每一次初始化(赋值),即将新的内容的地址赋给变量。
  4. 复杂数据结构存储的是各个元素的值得存储位置。
  5. 进行增删改等操作时不改变数据本身的id,改变的各个元素的地址引用。
  6. 改变任何一个拥有相同id的变量时,其他相同id的变量也会相应改变。
  7. copy.copy(object),拷贝的是内嵌套结构的地址引用,当内嵌套结构发生变化时,浅拷贝相应的改变。
  8. copy.deepcopy(object),完全复制与变量相关的数据!跟别的操作不再有关系!

实例:

import copy
li = [4,5]
lts = [1,2,3,li]
lt_copy= copy.copy(lts)
lt_deepcopy = copy.deepcopy(lts)
lts.append(6)
lt_copy.append(7)
print(lts,lt_copy)  #输出[1, 2, 3, [4, 5], 6] [1, 2, 3, [4, 5], 7]
li.append(8)     #内部表格li插入
print(lts,lt_copy,lt_deepcopy)
#输出[1, 2, 3, [4, 5, 8], 6] [1, 2, 3, [4, 5, 8], 7] [1, 2, 3, [4, 5]]
#可以看到当对li操作时,lt_deepcopy不受影响!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python中类和实例如何绑定属性与方法示例详解
Aug 18 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
Dec 09 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
python 统计列表中不同元素的数量方法
Jun 29 Python
简单谈谈python基本数据类型
Sep 26 Python
Django-Rest-Framework 权限管理源码浅析(小结)
Nov 12 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
django写用户登录判定并跳转制定页面的实例
Aug 21 Python
使用Python的turtle模块画国旗
Sep 24 Python
简单了解Java Netty Reactor三种线程模型
Apr 26 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
May 07 Python
python基础之错误和异常处理
Oct 24 Python
Python分割指定页数的pdf文件方法
Oct 26 #Python
python 将json数据提取转化为txt的方法
Oct 26 #Python
python读取TXT每行,并存到LIST中的方法
Oct 26 #Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 #Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 #Python
python 处理string到hex脚本的方法
Oct 26 #Python
python3 unicode列表转换为中文的实例
Oct 26 #Python
You might like
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
JSuggest自动匹配下拉框使用方法(示例代码)
2013/12/27 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
javascript实现瀑布流动态加载图片原理
2016/08/12 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
vue tab滚动到一定高度,固定在顶部,点击tab切换不同的内容操作
2020/07/22 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
小程序实现录音功能
2020/09/22 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python中turtle作图示例
2017/11/15 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
2018/06/11 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
pytorch SENet实现案例
2020/06/24 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
农药学硕士毕业生自荐信
2013/09/25 职场文书
关于逃课的检讨书
2014/01/23 职场文书
幼儿园教师个人反思
2014/01/30 职场文书
优秀医生事迹材料
2014/02/12 职场文书
道德模范先进事迹
2014/02/14 职场文书
保密工作实施方案
2014/02/24 职场文书
2015年纪委工作总结
2015/05/13 职场文书
Vue的生命周期一起来看看
2022/02/24 Vue.js
MySQL RC事务隔离的实现
2022/03/31 MySQL