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性能优化的20条建议
Oct 25 Python
win10环境下python3.5安装步骤图文教程
Feb 03 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
Python进阶_关于命名空间与作用域(详解)
May 29 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
python实现微信定时每天和女友发送消息
Apr 29 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 Python
Python正则表达式匹配和提取IP地址
Jun 06 Python
django如何通过类视图使用装饰器
Jul 24 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
深入浅析pycharm中 Make available to all projects的含义
Sep 15 Python
Python装饰器的练习题
Nov 23 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
2014过年倒计时示例
2014/01/31 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
destoon二次开发模板及调用语法汇总
2014/06/21 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
纯js实现的积木(div层)拖动功能示例
2017/07/19 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
Jquery cookie插件实现原理代码解析
2020/08/04 jQuery
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
python协程之动态添加任务的方法
2019/02/19 Python
Python循环实现n的全排列功能
2019/09/16 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
通过实例解析python and和or使用方法
2020/11/14 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
ECCO爱步加拿大官网:北欧丹麦鞋履及皮具品牌
2017/07/08 全球购物
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
机械电子工程专业推荐信范文
2013/11/20 职场文书
生产部厂长助理职位说明书
2014/03/03 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
python Polars库的使用简介
2021/04/21 Python
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers