位置: 编程技术 - 正文

深入理解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)

  • 什么时候要计提坏账准备
  • 收入及增值税会计准则
  • 企业所得税更正申报要交滞纳金吗
  • 分公司产生的费用怎么报销
  • 月末只有进项税需要把转出未交增值税转到未交增值税
  • 全额计提坏账准备后,多久核销应收账款
  • 润滑油怎么做账务处理
  • 利润分配未分配利润借贷方表示什么
  • 外贸企业出口退税账务处理
  • 企业的银行存款
  • 直接减免的增值税计入哪个科目
  • 共同投资叫什么
  • 调低社保基数怎么操作
  • 企业为员工购买的补充医疗保险
  • 报关单出口退税联在哪打印
  • 进项税抵扣需要做分录吗
  • 发票在验旧日期之后作废吗
  • 其他业务收入借贷方向会计分录
  • 员工垫付费用多久报销合理
  • 股东不发工资只给员工钱
  • 受托加工物资入库流程
  • 合并报表的范围
  • 土地使用权转让协议
  • 非贸付汇税金承担
  • php中变量有哪些基本数据类型?
  • 公司买车怎么入户
  • 其他应付款转营业外收入需要交增值税吗
  • 应付票据开出票据的会计分录
  • php字符串赋值
  • 财政应返还额度是什么意思?
  • php零基础教程
  • 工程建设质保金规定
  • 视同销售计税价格如何确定
  • 私企股权转让程序
  • CNN+LSTM+Attention实现时间序列预测(PyTorch版)
  • php读取xml接口数据
  • zendframework3
  • 合伙企业分红个税税率表
  • 2021前端热门技术解读
  • react+go
  • 企业所得税月月交吗
  • 个体户办营业执照有什么优点和缺点
  • 党费返还怎么记账
  • 银行开出的承兑怎么兑现
  • 年底全年的研发费用占比
  • 周转材料二级科目有哪些
  • sqlyog
  • 纳税信用等级区别在哪
  • 个税申报逾期罚款怎么算
  • 工业企业中制造费用包括哪些内容
  • 固定资产的类别
  • 暂估入账跨年如何红冲
  • 购买原材料时发生的不可抵扣的增值税额
  • 加计抵减四项服务是什么?
  • 转账手续费怎么入账
  • 满减送的购物券在哪里看
  • 什么是资产减值准备计提
  • 新成立的公司都是小微企业吗
  • 如何修改sqlserver中sa用户的密码
  • 直接内存访问控制器是什么
  • 怎样升级智慧中小学版本软件
  • parallel capacitor
  • 阿里云服务器linux系统
  • ini文件是什么意思
  • android ui绘制
  • adt Failed to create the Java Virtual Machine.
  • android获取json数据
  • 做网页需要域名吗
  • 微信公众号开发多少钱
  • js函数调用常用字符串
  • js新开一个窗口
  • js tab选项卡
  • 安卓底层重写
  • JavaScript函数中,哪个语句可以返回值
  • 安卓网络监测
  • android开发框架
  • iterator python
  • 联华超市华联超市哪个厉害
  • 电子发票美元如何查询
  • 计生法废止
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设