位置: 编程技术 - 正文

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

  • 外购配套费为什么不计利润
  • 资源税的税目有几个
  • 核定征收企业所得税应税所得率
  • 开承兑汇票的条件 费用
  • 对方开具红字发票信息表后我们怎么开负数
  • 固定资产报废电脑
  • 企业所得税返还计入什么科目
  • 全年一次性奖金税收计算器
  • 会计账簿账目核对要求包括哪些
  • 支付个人无发票怎么入账
  • 过路费报销单怎么填写图片
  • 出口零退税率是什么意思
  • 可交换债券与可转换债券的区别在于
  • 确认收入时需要结转成本吗
  • 租赁的土地被征迁
  • 企业所得税中的不征税收入有哪些
  • 本月进项大于销项怎么做会计分录
  • 生产型企业出口非自产产品能享有退税吗
  • 企业所得税到底是25%还是5%
  • 同一个月两家单位交公积金
  • 股东其他应付款可以转为实收资本文本格式
  • 纯粮食白酒广告语
  • 月销售额未超过10万的免征税怎么算
  • 什么情况下一般纳税人可以转为小规模纳税人
  • 腾讯手游助手怎么把游戏放到桌面
  • 图灵sdk
  • linux怎么查看防火墙信息
  • php字符串函数大全
  • win10记事本怎么改字体颜色
  • 巴黎先贤祠的名言
  • 银行公户转账需要带什么
  • 固定资产自行建造的会计处理
  • 小规模纳税人要交企业所得税吗?
  • 收到投资款的会计科目怎么入账
  • 百度地图 申请
  • vgremove命令
  • cjzc框架
  • set nu命令
  • 发票作废发票怎么处理
  • 计提怎么理解
  • 行政事业单位资产管理办法
  • 进项税抵增值税
  • wordpress限制下载次数
  • 没收的定金收入怎么入账
  • dedecms使用教程
  • 公司出租房屋如何开票
  • 场地租赁需要注意什么
  • 外购存货的账务处理
  • FreeBSD安装xfce4: 鼠标不能用
  • 小规模纳税人开专票需要交税吗
  • 电子商业承兑汇票的承兑有以下几种方式
  • 运费对方出怎么处理
  • 进项税已入账未认证申报表怎么填
  • 长期股权投资减值准备
  • 递延收益属于哪个报表项目
  • 新担保法2021和担保期限
  • 如何控制生产成本和利润
  • 公司自建的房子能买吗
  • 怎么用公式计算结果填充单元格
  • mysql必知必会读书心得
  • Win7中Remote Procedure Call(RPC)服务能关闭吗
  • linux readelf命令
  • Ubuntu 14.10 “Utopic Unicorn”正式发布(附下载)
  • 如何修改linux系统名称
  • win10系统更新后
  • ps1是什么文件
  • win8 开始
  • windows8开机启动项设置
  • ,linux
  • bat命令详解
  • 在Html中使用Requirejs进行模块化开发实例详解
  • jquery遍历radio并选中
  • jquery与js
  • python做应用软件界面
  • python 二分查找函数
  • jQuery ajax提交Form表单实例(附demo源码)
  • 税务局赵昭
  • 公租房要钱吗
  • 车船使用税是什么样的单子
  • 税法上接受捐赠是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设