位置: 编程技术 - 正文

深入理解python中的浅拷贝和深拷贝(浅谈python)

编辑:rootadmin

推荐整理分享深入理解python中的浅拷贝和深拷贝(浅谈python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深入理解python特性,深入理解python特性,python深入浅出,python深入浅出,深入python3,python深入浅出,python深入浅出,深入python3,内容如对您有帮助,希望把文章链接给更多的朋友!

在讲什么是深浅拷贝之前,我们先来看这样一个现象:

为什么我只对b进行修改,却影响到了a呢?看过我在之前的文章中就说过:序列中保存的都是内存的引用。

所以,当我们通过b去修改里面的空列表的时候,其实就是修改内存中的同一个对象,所以会影响到a。

代码验证无误,所以虽然a和b是两个不同的对象,但是里面的引用都是一样的。这就是所谓新的对象,旧的内容。

但是,浅拷贝还不仅如此,看下面:

这又是怎么回事呢?

看过我在python变量赋值说明的同学会知道:对于字符串、数字等不可变的数据类型,修改就相当于重新赋值。在这里就相当于刷新引用。

代码验证一下:

深入理解python中的浅拷贝和深拷贝(浅谈python)

看来是正确的。

上面讲的这些就是浅拷贝,总结起来,浅拷贝只是拷贝了一系列引用,当我们在拷贝出来的对象对可修改的数据类型进行修改的时候,并没有改变引用,所以会影响原对象。而对不可修改的对象进行修改的是,则是新建了对象,刷新了引用,所以和原对象的引用不同,结果也就不同。

创建浅拷贝的方法:

1.切片操作

2.使用list()工厂函数新建对象。( b = list(a) )

那么深拷贝不就是将里面引用的对象重新创建了一遍并生成了一个新的一系列引用。

基本上是这样的,但是对于字符串、数字等不可修改的对象来说,重新创建一份似乎有点浪费内存,反正你到时要修改的时候都是新建对象,刷新引用的。所以还用原来的引用也无所谓,还能达到节省内存的目的。

看下代码验证:

验证正确。

深拷贝的创建:

1.正如代码示例用一样,只能通过内置的copy模块的deepcopy()方法创建。

好了,关于深浅拷贝的问题就先说到这里,有什么错误或需要补充的以后会继续。

以上这篇深入理解python中的浅拷贝和深拷贝就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

Windows下Python使用Pandas模块操作Excel文件的教程 安装Python环境ANACONDA是一个Python的发行版本,包含了多个Python最常用的库,其中就包括了数据分析中需要经常使用到的Numpy和Pandas等。更重要的是,不

Windows中安装使用Virtualenv来创建独立Python环境 0、什么时候会用到virtualenv?假设系统中的两个应用,其中A应用对库LibFoo的版本要求为1,而B应用对同一个库LibFoo的版本要求为2,两个应用对同一个库

python语言使用技巧分享 一在写之前最好指定python的路径:#!/usr/bin/pythonpython在linux中需要添加编码方式:以免出现中文乱码#-*-coding:UTF-8?*-二在各类语言中,python应该是最会利用

标签: 浅谈python

本文链接地址:https://www.jiuchutong.com/biancheng/386926.html 转载请保留说明!

上一篇:浅谈Python的文件类型(python中的文件)

下一篇:Windows下Python使用Pandas模块操作Excel文件的教程(python win10)

  • 自然人税收管理系统残疾人申报
  • 个人所得税手续费返还增值税税率
  • 个人能否申请延迟退休
  • 何谓运输,交通和交通运输
  • 从企业分红所得税怎么算
  • 四种股利分配政策类型
  • 经营所得税投资者减除费用
  • 如何进行银行存款的实质性程序
  • 小企业研发费用科目代码多少合适
  • 营改增租金收入税率
  • 出售商标使用权收入计入什么科目
  • 通用机打发票可以抵扣税吗
  • 淘宝店注册公司流程
  • 发票认证但未抵扣需要在报表里填吗
  • 法人代表借钱给公司可以做短期借款吗
  • 专业合作社的业务范围
  • 存货的核算心得体会
  • 小规模纳税人定额发票怎么报税
  • 冲回累计折旧
  • 包工包料的工程怎么做账
  • 企业收到党建经费 所得税
  • 广播影视服务需要交文化事业建设费吗
  • 应征增值税不含税销售额和免税销售额
  • 出口转内销发票抵扣
  • mac老款设备怎样升级os14
  • win7如何调出浏览器
  • 公司收到预付款怎么用处去
  • php是基于
  • 代销方式是什么意思
  • yii2框架漏洞
  • 路由配置中network怎么用
  • Vue3:探讨一下mixin
  • mlp是啥啊
  • PyTorch 深度学习实战 | 基于生成式对抗网络生成动漫人物
  • 人工智能rl
  • 使用vue开发app
  • bad block bitmap checksum
  • 机动车发票哪几联 做帐
  • 本年累计金额怎么得到
  • 预计负债初始计量的最佳估计数的确定是会计估计变更吗
  • 白酒贴牌酒是真酒还是假酒
  • 研发企业所得税税率
  • Python的aiohttp模块如何使用?
  • mongodb4.4.2安装教程
  • mongodb项目使用说明
  • dedecms采集怎么用
  • 金蝶软件发票录入什么科目
  • 固定资产报废时,后续未折旧额计入哪里
  • 缴纳增值税附加税
  • 会计中制造费用包括哪些内容
  • 项目对公司的战略意义
  • 不良品怎么入账
  • 资金周转率计算公式
  • 存货取得长期股权投资
  • 支付技术转让费怎么入账
  • 外包加工如何做账
  • 公益性捐赠全额扣除,企业所得税
  • 库存商品的成本
  • 收到票据之后贴什么标签
  • sql基本教程
  • window怎么操作
  • winxp启动
  • linux安装syslog
  • 安装win7旗舰版变了家庭版
  • javascript的用法
  • shell 函数 return
  • node.js解析excel
  • javascriptz
  • javascript函数的定义
  • js如何实现重置功能
  • jquery的实现原理
  • python用什么编辑
  • 小型微利企业所得税优惠
  • 定期定额纳税申报表应税项应填哪个数
  • 如何在网上查看自己的营业执照
  • 行政服务事项包含哪些
  • 增值税普通发票有什么用
  • 税务局科员是什么职业
  • 保税工厂和非保税工厂的区别
  • 新郑市税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设