位置: 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记录日志)

  • 荣耀x10max屏幕有多大(荣耀x10max手机屏幕)

    荣耀x10max屏幕有多大(荣耀x10max手机屏幕)

  • 华为note10是5g手机吗

    华为note10是5g手机吗

  • 电脑双引号只能打一边(电脑上的双引号只能打一半是怎么回事)

    电脑双引号只能打一边(电脑上的双引号只能打一半是怎么回事)

  • 酷喵vip同时几台电视

    酷喵vip同时几台电视

  • 手机还原后还能恢复吗(手机还原后还能透露个人信息吗?)

    手机还原后还能恢复吗(手机还原后还能透露个人信息吗?)

  • 不是群主怎么解散群(不是群主怎么解除禁言)

    不是群主怎么解散群(不是群主怎么解除禁言)

  • 路由器恢复出厂设置后管理员密码是什么(路由器恢复出厂设置后还能上网吗)

    路由器恢复出厂设置后管理员密码是什么(路由器恢复出厂设置后还能上网吗)

  • 手机cell什么意思(cell有手机的意思吗)

    手机cell什么意思(cell有手机的意思吗)

  • 华为p40横屏怎么关闭(华为p40设置横屏竖屏)

    华为p40横屏怎么关闭(华为p40设置横屏竖屏)

  • 安卓充电头可以充苹果吗(安卓充电头可以充苹果13吗)

    安卓充电头可以充苹果吗(安卓充电头可以充苹果13吗)

  • 物联网分为哪三层(物联网分为哪三个层次组成)

    物联网分为哪三层(物联网分为哪三个层次组成)

  • 苹果快捷指令中心连不上网络(苹果快捷指令中心无法访问)

    苹果快捷指令中心连不上网络(苹果快捷指令中心无法访问)

  • ipadmini2有指纹识别吗(ipad mini有指纹)

    ipadmini2有指纹识别吗(ipad mini有指纹)

  • oppoa11充电多长时间才满 (oppoa11充电速度是多少w)

    oppoa11充电多长时间才满 (oppoa11充电速度是多少w)

  • ipad5可以插内存卡吗(ipad5能扩容128吗)

    ipad5可以插内存卡吗(ipad5能扩容128吗)

  • 苹果11安装软件怎么按两下(苹果11安装软件怎么按两下怎么取消)

    苹果11安装软件怎么按两下(苹果11安装软件怎么按两下怎么取消)

  • 手机使用情况数据怎么删除(手机使用情况数据分析报告)

    手机使用情况数据怎么删除(手机使用情况数据分析报告)

  • 手机qq怎么转发语音(手机qq怎么转发聊天记录)

    手机qq怎么转发语音(手机qq怎么转发聊天记录)

  • oppo手机怎么找剪切板(oppo手机怎么找回微信删除的聊天记录)

    oppo手机怎么找剪切板(oppo手机怎么找回微信删除的聊天记录)

  • iqoopro支持红外吗(iqoopro支持红外遥控吗)

    iqoopro支持红外吗(iqoopro支持红外遥控吗)

  • 怎么把uc缓存的视频转为本地视频(怎么把uc缓存的视频转到百度网盘)

    怎么把uc缓存的视频转为本地视频(怎么把uc缓存的视频转到百度网盘)

  • iphone 128g够用吗(ipad下一页)

    iphone 128g够用吗(ipad下一页)

  • 为什么微信小程序打不开(为什么微信小程序闪退)

    为什么微信小程序打不开(为什么微信小程序闪退)

  •  小米8透明版就是探索版吗(小米8 透明版)

    小米8透明版就是探索版吗(小米8 透明版)

  • gluster命令  Gluster控制台管理工具(gluster peer status)

    gluster命令 Gluster控制台管理工具(gluster peer status)

  • 收到退回的以前年度租金怎么处理
  • 清卡重用
  • 个税申报了还要扣钱吗
  • 增值税一般纳税人是什么意思
  • 房地产开发企业增值税税率
  • 税控服务费能抵扣吗
  • 公司支付员工工伤赔偿怎么做账
  • 大额虚开发票做转出税款入什么会计科目?
  • 充话费送手机如何缴纳增值税
  • 购入包装物
  • 企业在什么情况下做薪酬诊断
  • 车船税为什么没有优惠
  • 补交社保如何证明劳动关系
  • 发票不验旧可以领取新的吗
  • 企业向国有银行贷款的利率
  • 住房公积金管理官网
  • 金融企业同期同类贷款利率计算
  • 怎么把过期银行卡的钱取出来
  • 财务报告成本
  • fontcreator字间距
  • 国际重复征税的解决方法公式
  • win10桌面图标怎么随意摆放
  • 领用配件计入什么科目
  • 外籍人员个税免征吗
  • 以太网默认网关不可用
  • php中使用什么关键字定义常量
  • 发票管理的基础环节
  • PHP:imagefilledpolygon()的用法_GD库图像处理函数
  • 应交增值税视频讲解
  • 固定资产八大类别
  • wordpresscom
  • 核销固定资产时会计处理
  • 两套账目
  • Web Spider Fiddler - JS Hook 基本使用
  • 什么情况下应该辞职
  • 小规模季末税费处理
  • 公司食堂吃饭没钱怎么办
  • phpcms添加内容
  • 增值税贷方余额是负数怎么办
  • react生命周期执行顺序
  • 租金收入怎么做分录
  • sql字符串处理函数
  • 一般纳税人增值税减免政策2023
  • 应收账款借方余额
  • 弥补以前年度亏损报表怎么填
  • 营利性幼儿园是什么意思
  • 应付账款不用付情况说明
  • 怎么打印税务登记证明备案表
  • 工程施工怎么结转,用友自动结转吗
  • 注册资金没显示
  • 为什么持有库存
  • 应收账款的账面余额是什么意思
  • 个体工商怎么申报
  • 公众责任险作用
  • 企业预付账款是什么意思
  • Ubuntu15下mysql5.6.25不支持中文的解决办法
  • sql语句提取字符串中数字
  • 多系统安装方法
  • win10一年更新一次
  • linux系统怎么固定ip地址
  • win8怎么切换hdmi
  • linux系统中安装web服务
  • win7开机黑屏只有鼠标安全模式也不行
  • win7专用字符编辑程序
  • Tutorial 3: First Triangle
  • easyui 日期格式化
  • shell脚本判断一个字符串是否为空
  • awk实例
  • 常用dos命令大全及用法
  • shell命令su
  • 安卓网络监测
  • python pil gif
  • JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
  • python中的stringvar
  • jquery给按钮添加事件
  • 置顶快手作品怎么弄
  • 个税更正申报如何导出大厅申报表
  • 常州车辆过户手续办理
  • 山西国税电子税务局电话
  • 工会银行卡怎么开通
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设