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实现石头剪刀布小游戏
Jan 20 Python
pip指定python位置安装软件包的方法
Jul 12 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
Jul 31 Python
Python高级特性 切片 迭代解析
Aug 23 Python
Python实现随机生成任意数量车牌号
Jan 21 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 Python
python matplotlib包图像配色方案分享
Mar 14 Python
用Python在Excel里画出蒙娜丽莎的方法示例
Apr 28 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
python推导式的使用方法实例
Feb 28 Python
Python 里最强的地图绘制神器
Mar 01 Python
python index() 与 rindex() 方法的使用示例详解
Dec 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
javascript转换静态图片,增加粒子动画效果
2015/05/28 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
JavaScript必看小技巧(必看)
2016/06/07 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python登录注册验证功能实现
2018/06/18 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
python实现逆滤波与维纳滤波示例
2020/02/26 Python
2020年10款优秀的Python第三方库,看看有你中意的吗?
2021/01/12 Python
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
临床医师专业个人自我评价
2014/01/08 职场文书
公司年底活动方案
2014/08/17 职场文书
办理信用卡工作证明
2014/09/30 职场文书
债务授权委托书范本
2014/10/17 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
见义勇为事迹材料
2014/12/24 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
单位考核鉴定意见
2015/06/05 职场文书
反腐倡廉观后感
2015/06/08 职场文书
CAD实训总结范文
2015/08/03 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
Django migrate报错的解决方案
2021/05/20 Python
python对文档中元素删除,替换操作
2022/04/02 Python
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技