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实现的二叉树定义与遍历算法实例
Jun 30 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
python3使用QQ邮箱发送邮件
May 20 Python
Python识别快递条形码及Tesseract-OCR使用详解
Jul 15 Python
python基于FTP实现文件传输相关功能代码实例
Sep 28 Python
Python中base64与xml取值结合问题
Dec 22 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
Python获取excel内容及相关操作代码实例
Aug 10 Python
Python为何不支持switch语句原理详解
Oct 21 Python
python中 Flask Web 表单的使用方法
May 20 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
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
2013/12/02 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
vue2.0 根据状态值进行样式的改变展示方法
2018/03/13 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
python实现rsa加密实例详解
2017/07/19 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
中专毕业生自我鉴定范文
2013/11/09 职场文书
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
医院检讨书范文
2014/02/01 职场文书
授权委托书怎么写
2014/04/03 职场文书
市政管理求职信范文
2014/05/07 职场文书
关爱残疾人标语
2014/06/25 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
超市店庆活动方案
2014/08/31 职场文书
上下班时间调整通知
2015/04/23 职场文书
工程款申请报告
2015/05/15 职场文书
入党积极分子考察意见
2015/06/02 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
Axios取消重复请求的方法实例详解
2021/06/15 Javascript