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

  • 微信动态红包是怎么设置的(微信动态红包表情包)

    微信动态红包是怎么设置的(微信动态红包表情包)

  • 2.4hzwifi什么意思(2.4wifi是什么意思)

    2.4hzwifi什么意思(2.4wifi是什么意思)

  • iqooz1x和vivoz6的区别有哪些

    iqooz1x和vivoz6的区别有哪些

  • 小米10至尊纪念版有多重(小米10至尊纪念版换屏幕多少钱)

    小米10至尊纪念版有多重(小米10至尊纪念版换屏幕多少钱)

  • qq的聊天记录怎么迁移到新手机上(qq的聊天记录怎么全部删除)

    qq的聊天记录怎么迁移到新手机上(qq的聊天记录怎么全部删除)

  • 华为手表需要贴膜吗(华为手表需要贴背膜吗)

    华为手表需要贴膜吗(华为手表需要贴背膜吗)

  • ipad微信不能发视频到朋友圈(ipad微信不能发视频和语音怎么回事)

    ipad微信不能发视频到朋友圈(ipad微信不能发视频和语音怎么回事)

  • 安卓手机如何打开.pps文件(安卓手机如何打开.p7b文件)

    安卓手机如何打开.pps文件(安卓手机如何打开.p7b文件)

  • 什么是企业微信(什么是企业微信有什么好处)

    什么是企业微信(什么是企业微信有什么好处)

  • 微信公众号有什么用(微信公众号有什么作用)

    微信公众号有什么用(微信公众号有什么作用)

  • 华为手机微信密码锁怎么解除(华为手机微信密码锁怎么设置)

    华为手机微信密码锁怎么解除(华为手机微信密码锁怎么设置)

  • 轻颜相机视频能录多久(轻颜相机视频能剪辑吗)

    轻颜相机视频能录多久(轻颜相机视频能剪辑吗)

  • 处理器ipc是什么(ipq处理器)

    处理器ipc是什么(ipq处理器)

  • mac使用中突然黑屏(macbook使用中突然黑屏)

    mac使用中突然黑屏(macbook使用中突然黑屏)

  • 华为荣耀play3语音助手怎么唤醒(华为荣耀play3语音助手叫什么名字)

    华为荣耀play3语音助手怎么唤醒(华为荣耀play3语音助手叫什么名字)

  • ddr4和ddr5的区别(电脑内存条ddr4和ddr5的区别)

    ddr4和ddr5的区别(电脑内存条ddr4和ddr5的区别)

  • blued信息发不出去(blued信息发不出去怎么办)

    blued信息发不出去(blued信息发不出去怎么办)

  • iphone怎么屏蔽骚扰电话和短信(iphone怎么屏蔽骚扰电话)

    iphone怎么屏蔽骚扰电话和短信(iphone怎么屏蔽骚扰电话)

  • 闲鱼可以分期购买吗(闲鱼能否分期)

    闲鱼可以分期购买吗(闲鱼能否分期)

  • 无线键盘没有接收器怎么连接电脑(无线键盘没有接收器怎么连接电脑蓝牙)

    无线键盘没有接收器怎么连接电脑(无线键盘没有接收器怎么连接电脑蓝牙)

  • 怎么做手机app软件(手机如何做软件)

    怎么做手机app软件(手机如何做软件)

  • 荣耀手机备忘录设置(荣耀手机备忘录在哪)

    荣耀手机备忘录设置(荣耀手机备忘录在哪)

  • 手机文字怎么设置带拼音的(手机文字怎么设置)

    手机文字怎么设置带拼音的(手机文字怎么设置)

  • 手机来电不显示名字(手机来电不显示接听界面)

    手机来电不显示名字(手机来电不显示接听界面)

  • 两台电脑文件共享教程(两台电脑文件共享,显示没有访问权限)

    两台电脑文件共享教程(两台电脑文件共享,显示没有访问权限)

  • 悬崖边的福门托尔角灯塔,西班牙马略卡岛 (© Lasse Eklöf/DEEPOL by plainpicture)(悬崖边上的门)

    悬崖边的福门托尔角灯塔,西班牙马略卡岛 (© Lasse Eklöf/DEEPOL by plainpicture)(悬崖边上的门)

  • mysql间隙锁的用法(mysql的间隙锁与排他锁)

    mysql间隙锁的用法(mysql的间隙锁与排他锁)

  • 附加税申报表里怎么填写
  • 年应税销售额是利润表中的营业收入吗
  • 税法规定的增值税
  • 金税四期正式启动
  • 查看企业用什么软件
  • 公司银行未开户税务也没开需要做工商年报吗
  • 差额征税怎么填写申报表
  • 去年开的专票今年可以作废吗
  • 发票的收款人复核怎么写
  • 印花税退税流程怎么操作
  • 购进客房用品取得增值税专用发票注明税额9120
  • 公司对项目管理方式
  • 企业资产净资产
  • 社保滞纳金可以计入管理费用吗为什么
  • 收据开17%的票税负因子是多少?
  • 资本公积转增股本什么意思
  • 个人独资企业可以不开公户吗
  • 营改增住宿费的进项税可以抵扣吗
  • 5.0车船税和交强险一年多少钱
  • 发票 抵扣联
  • 地方教育费附加减免政策
  • 非盈利组织一般纳税人应交的税
  • 二甲醚增值税税率9%
  • 关联交易类型有哪些
  • 银行承兑贴现到哪里去了
  • 购进原材料影响营业利润吗
  • 企业接受投资者的土地使用权投资
  • 外资公司股东要求
  • win11 老机器
  • 银行承兑汇票和银行汇票的区别
  • 如何解决windows蓝屏问题
  • 代金券与抵扣券的区别
  • 公司多缴税款了怎么办?可以退吗?
  • 黄金税收多少
  • 注册公司时认缴和实缴时间怎么填
  • jsp课程设计含源代码
  • 浪漫编程代码
  • 员工买材料报销分录
  • 银行结算方式有哪几种方式?其具体内容是什么?
  • 对公户单笔转账有限额吗
  • 投标报名费怎么做分录
  • 企业注销后还会查账吗
  • 小规模超30万附加税有减免吗
  • 差旅费科目设置
  • 应收应付核销的会计科目
  • 暂估成本多久要冲掉
  • 工业企业成本核算的一般程序包括下列的
  • 非流动资产处置利得计入什么科目
  • 外商投资企业开什么发票
  • 企业残保金如何计算
  • 改制后企业是否可以剥离资产管理
  • wind2000
  • windows server 2008下一些设置技巧及优化经验总结
  • linux查找内容在哪个文件中
  • 在Linux系统中安装MySQL
  • win7电脑磁盘空间不足清理步骤
  • ubuntu 编译软件
  • 忘记mysql密码
  • ubuntu怎么设置成中文
  • 苹果的mac怎么查
  • win7系统电脑开不了机
  • linux.rpm
  • cocos2d schedule
  • js中cookie
  • nodejs 异步任务队列
  • unity 游戏
  • jQuery+ajax实现文章点赞功能的方法
  • python如何用
  • UNITY gameobject代码中setacvtive(false)与面板中直接去掉勾 效果不一样
  • js实现浏览器状态栏显示
  • unity3d ui
  • javascript下拉列表怎么做
  • jQuery Easyui datagrid/treegrid 清空数据
  • 成都市电子税务局网上申报
  • 捐赠支出的扣除标准是什么是30%吗
  • 山东省立第三医院地址
  • 税务u盘是干嘛的
  • 广东电子税务局财务报表在哪里查询
  • uk怎么添加发票
  • 银行理财收入如何记账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设