位置: IT常识 - 正文

Python深浅拷贝是什么(python深拷贝与浅拷贝区别)

编辑:rootadmin

推荐整理分享Python深浅拷贝是什么(python深拷贝与浅拷贝区别),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python深拷贝和浅拷贝详解,python深拷贝和浅拷贝应用场景,python中深浅拷贝,python深拷贝和浅拷贝应用场景,python深拷贝浅拷贝和赋值,python深拷贝浅拷贝和赋值,python深拷贝浅拷贝,python中深浅拷贝,内容如对您有帮助,希望把文章链接给更多的朋友!

一、浅拷贝

浅拷贝是对一个对象的顶层拷贝,通俗地讲就是:拷贝了引用,并没有拷贝内容。

a=[1,2,3]print(id(a))b=aprint(b)print(id(b))a.append(4)print(a)print(b)

运行结果为:

1965053928072[1,2,3]1965053928072[1,2,3,4][1,2,3,4]

二、深拷贝

深拷贝是对于一个对象所有层次的拷贝,重新开辟内存地址。

importcopya=[1,2,3]print(id(a))#使用copy模块b=copy.deepcopy(a)#打印b的内存地址print(id(b))a.append(4)print(a)print(b)

运行结果为:

20351579696722035158105992[1,2,3,4][1,2,3]

相关推荐:《Python视频教程》

三、深浅拷贝对比

importcopya=[1,2,3]b=[4,5,6]c=[a,b]d=c#直接赋值,浅拷贝print("c的内存地址为:%s"%id(c))print("d的内存地址为:%s"%id(d))#使用copy模块#深拷贝,重新开辟内存,并内容独立e=copy.deepcopy(c)#深拷贝,重新开辟内存,但是新内容里面仍保存原来的引用f=copy.copy(c)#打印e,f的地址print("e的内存地址为:%s"%id(e))print("f的内存地址为:%s"%id(f))#改变a的值a.append(44)#打印a,b,c,d,e,fprint("a=%s"%a)print("b=%s"%b)print("c=%s"%c)print("d=%s"%d)print("e=%s"%e)print("f=%s"%f)Python深浅拷贝是什么(python深拷贝与浅拷贝区别)

运行结果为:

c的内存地址为:2514746494856d的内存地址为:2514746494856e的内存地址为:2514746494920f的内存地址为:2514746494664a=[1,2,3,44]b=[4,5,6]c=[[1,2,3,44],[4,5,6]]d=[[1,2,3,44],[4,5,6]]e=[[1,2,3],[4,5,6]]f=[[1,2,3,44],[4,5,6]]

说明:

1.c和d的内存地址一样,说明是浅拷贝,两个引用指向的是同一块内存。

2.c,e,f内存地址不一样,说明e和f都是深拷贝,都重新开辟的内存地址。

3.在a追加了元素44之后,打印的e中并有追加44,说明深拷贝,内容独立。

4.在a追加了元素44之后,打印的f中也追加44,说明f也重新开辟了内存,但是新内容里面保存的是原来的引用。

四、copy对可变和不可变对象的不同

1、可变类型使用copy

importcopya=[1,2,3]b=copy.copy(a)print(id(a))print(id(b))a.append(4)print(a)print(b)

运行结果为:

16266777178321626677715784[1,2,3,4][1,2,3]

2、不可变类型使用copy

importcopya=(1,2,3)b=copy.copy(a)print(id(a))print(id(b))

运行结果为:

20434442807042043444280704

总结:

简单的赋值是浅拷贝。

copy模块里面的copy()函数可以做一层深拷贝,虽然重新开辟了新的内存,但新内存里面仍然存放得是原来的引用。

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

上一篇:dedecms织梦的性能选项与其它选项的设置方法(织梦是什么框架开发的)

下一篇:python logging日志的禁用(python中的logging记录日志)

  • 钉钉调休怎么操作(钉钉调休怎么调)

    钉钉调休怎么操作(钉钉调休怎么调)

  • 苹果se2是全面屏吗(苹果se2全面屏手势)

    苹果se2是全面屏吗(苹果se2全面屏手势)

  • 手机屏幕60和90赫兹区别多大(手机屏幕60和144赫兹区别多大)

    手机屏幕60和90赫兹区别多大(手机屏幕60和144赫兹区别多大)

  • 美团怎么批量复制商品(美团怎么批量复制同行商品)

    美团怎么批量复制商品(美团怎么批量复制同行商品)

  • 微信号只能是英文和数字吗(微信账号可以纯英文吗)

    微信号只能是英文和数字吗(微信账号可以纯英文吗)

  • 微信显示登录频繁怎么办(微信显示登录频繁登不上)

    微信显示登录频繁怎么办(微信显示登录频繁登不上)

  • cernet是什么网(cer网络用语啥意思)

    cernet是什么网(cer网络用语啥意思)

  • oppo儿童模式退出不了

    oppo儿童模式退出不了

  • pw是什么(pw是什么水)

    pw是什么(pw是什么水)

  • 快手可以加微信好友吗(快手可以加微信吗怎么加)

    快手可以加微信好友吗(快手可以加微信吗怎么加)

  • 快手蓝V和黄V的区别(快手蓝v和黄v的区别在哪)

    快手蓝V和黄V的区别(快手蓝v和黄v的区别在哪)

  • word页面高度和宽度怎么设置(word页面高度和宽度在哪设置)

    word页面高度和宽度怎么设置(word页面高度和宽度在哪设置)

  • 多操作系统指的是(操作系统多任务处理)

    多操作系统指的是(操作系统多任务处理)

  • 余额的钱怎么转到银行卡(余额的钱怎么转不到余额宝)

    余额的钱怎么转到银行卡(余额的钱怎么转不到余额宝)

  • 淘宝下单怎么备注留言(淘宝下单怎么备注)

    淘宝下单怎么备注留言(淘宝下单怎么备注)

  • 如何关闭非wifi提示(如何关闭非wifi视频自动播放)

    如何关闭非wifi提示(如何关闭非wifi视频自动播放)

  • 路由器的电源是哪个(路由器的电源是哪根线)

    路由器的电源是哪个(路由器的电源是哪根线)

  • 小米手环连接手机步骤(小米手环连接手机后没有微信提示)

    小米手环连接手机步骤(小米手环连接手机后没有微信提示)

  • iphone11支持快充吗(iphone11支持快充吗20w)

    iphone11支持快充吗(iphone11支持快充吗20w)

  • vivo手机查找(vivo手机查找设备功能在哪里)

    vivo手机查找(vivo手机查找设备功能在哪里)

  • 索尼xperia1怎么设置开机动画

    索尼xperia1怎么设置开机动画

  • 公司电脑监控都能监控什么(公司电脑监控都看什么)

    公司电脑监控都能监控什么(公司电脑监控都看什么)

  • 联想手机如何截屏快捷键(联想手机如何截长屏)

    联想手机如何截屏快捷键(联想手机如何截长屏)

  • 电脑桌面刷新反应很慢怎么办?解决方法(电脑桌面刷新反应迟钝)

    电脑桌面刷新反应很慢怎么办?解决方法(电脑桌面刷新反应迟钝)

  • hookdump.exe是什么进程 有什么用 hookdump进程查询(hook execution failed)

    hookdump.exe是什么进程 有什么用 hookdump进程查询(hook execution failed)

  • python中如何创建新表格(python中如何创建一个新文件)

    python中如何创建新表格(python中如何创建一个新文件)

  • 帝国CMS自动截取简介出现乱码的解决方法(帝国cms自动采集插件)

    帝国CMS自动截取简介出现乱码的解决方法(帝国cms自动采集插件)

  • 个体工商户需要进项发票吗
  • 离岸价的含义
  • 增值税预缴申报和正常申报的区别
  • 出纳可以做库存库吗
  • 五联普通发票盖章要求
  • 如何在网上查询发票
  • 19年房产税新规
  • 子母公司有连带责任吗
  • 计提长期债券利息分录怎么做
  • 法定预算调整的范围
  • 油费补贴是否计入个税
  • 接受税务稽查补缴所得税账务处理怎么做?
  • 个人钱转入对公账户账务处理
  • 公司分期付款买车可以抵税吗
  • 研发新产品成功案例简短
  • 企业所得税属于什么科目
  • 申办企业所得税抵缴带哪些资料?
  • 代理进出口公司营销方式
  • 免抵退税应退税额
  • 一般纳税人出租不动产增值税税率
  • 银行利息现金流量表什么科目
  • 文化交流活动开展方案
  • 民间非营利组织会计制度会计科目
  • 华为nova9值得买吗知乎
  • 手机网速测试怎么看多少兆网
  • 期末留抵税额的减值
  • 物业公司营业成本包括哪些
  • rasman.exe - rasman是什么进程 有什么作用
  • 发票未报送怎么回事
  • 工程质保金账务处理办法
  • 小规模纳税人需要缴纳个人所得税吗
  • 笔记本屏幕坏点几个算正常
  • ghoststartservice.exe是什么进程 有什么作用 ghoststartservice进程查询
  • 现金收入如何做账务处理
  • 委托加工的加工费是含税的吗
  • kaggle能赚钱吗
  • php文件上传技术
  • php 上传文件
  • html怎么设置隐藏元素
  • github ci/cd
  • raisecom删除命令
  • js构造函数怎么用
  • python字典怎么添加值
  • 校验码如何查询
  • 怎么查看代理记账协议终止情况
  • 退社保基金怎么办理
  • 计提本月工资社保怎么扣
  • 无票收入怎么做
  • 动态规划知乎
  • 深入理解计算机系统
  • python 逻辑取反
  • 坏账准备计入科目
  • 入库库存商品
  • sql 获取指定字符位置
  • 公司股东分红要交税吗?
  • 小公司财务做内账流程
  • 厂房测量费怎么做账
  • 房租进项发票怎么处理
  • 销售返现如何做账务处理
  • 增值税专用发票和普通发票的区别
  • 食堂计入公务接待费
  • 银行手续费必须开发票的规定
  • xp系统多了explorer进程
  • 菜鸟flask
  • linux系统批量查找替换多个字符
  • win10 自带
  • linux安装tmux
  • linux添加用户命令并添加管理员
  • win10一年更新一次
  • cocos2dx 教程
  • flask开发实例
  • unity读取fbx文件
  • vuex状态机
  • android基础知识点
  • 2008年深圳房价崩盘
  • 芜湖办税服务厅
  • 出口退税正式申报资料上传
  • 美国非税收入排名榜
  • 江苏地方税务局2013招考公告
  • 电子增值税专用发票和纸质增值税专用发票的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设