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 相关文章推荐
zbar解码二维码和条形码示例
Feb 07 Python
python基础教程之缩进介绍
Aug 29 Python
进一步理解Python中的函数编程
Apr 13 Python
介绍Python中的文档测试模块
Apr 28 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Python IDLE清空窗口的实例
Jun 25 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
python tkinter控件布局项目实例
Nov 04 Python
Django ORM filter() 的运用详解
May 14 Python
Python使用socket_TCP实现小文件下载功能
Oct 09 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面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
2009/09/30 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
10个简化PHP开发的工具
2014/12/25 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
js实现五星评价功能
2017/03/08 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
Python处理字符串之isspace()方法的使用
2015/05/19 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
利用python实现周期财务统计可视化
2019/08/25 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
企业务虚会发言材料
2014/10/20 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记