位置: 编程技术 - 正文

Python中对象的引用与复制代码示例(python引用方法)

编辑:rootadmin

推荐整理分享Python中对象的引用与复制代码示例(python引用方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python引用方法,python 对象函数,python引用和对象的理解论文,python对象调用方法,python对象的引用计数增加,python引用和对象的理解论文,python引用和对象的理解论文,python对象的引用计数增加,内容如对您有帮助,希望把文章链接给更多的朋友!

可以说Python没有赋值,只有引用。你这样相当于创建了一个引用自身的结构,所以导致了无限循环。为了理解这个问题,有个基本概念需要搞清楚。

Python没有「变量」,我们平时所说的变量其实只是「标签」,是引用。

python中,"a=b"表示的是对象a引用对象b,对象a本身没有单独分配内存空间(重要:不是复制!),它指向计算机中存储对象b的内存。因此,要想将一个对象复制为另一个对象,不能简单地用等号操作,要使用其它的方法。如序列类的对象是(列表、元组)要使用切片操作符(即':')来做复制。

在python进行像b = a这样的赋值时,只会创建一个对a的新引用,使a的引用计数加1,而不会创建新的对象:

这样,当引用的对象是可变对象的时候(列表,字典,可变集合等),会产生意料之外的行为:

因为a和b引用的是同一对象,改变其中一个,另外一个也会随之改变。当我们想建立一个副本而不是引用时,可以复制对象。

Python中对象的引用与复制代码示例(python引用方法)

复制对象一般使用copy模块:

这样就可以了,但这种复制是一种浅复制,复制的新对象中包含的是对原始对象中的项的引用,如果对象的项为可变对象,也会产生不可控行为:

这时候就要使用深复制了。深复制将创建一个新对象,并递归地复制它所包含的所有对象:

对于不可改变的对象而言(字符串,数字,元组)等,没有必要拷贝,因为它们是不可改变的,不用担心会不经意间改动了它们。拷贝操作也只会得到原对象:

对于可变对象来(列表,字典,可变集合)来说,可以分别使用内置函数list(),dict(),set()来进行浅复制,速度是比使用copy模块快的。

列表也可以使用切片进行浅复制:

对序列数据类型(字符串,列表,元组)进行*操作时,也仅仅是复制了对象中项的引用,如果使用*创建一个多维列表:

最好是在列表推导中使用浅复制来创建多维列表,可以避免隐式的引用共享:

总结

标签: python引用方法

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

上一篇:Python3 Random模块代码详解(python中random模块用法)

下一篇:浅谈Python中带_的变量或函数命名(python里!)

  • 增值税应交税费和申报的不一样怎么调整
  • 财税筹划课程
  • 增值税专用发票抵扣期限
  • 收到外境来电
  • 收到转账支票怎么去银行处理
  • 一般纳税人软件销售税率
  • 房地产开发企业土地增值税清算
  • 拆迁置换安置房
  • 非营利机构收到专用发票
  • 公司银行利息要交税吗
  • 资本公积转增股本什么意思
  • 人工服务费发票
  • 关于土地增值税若干问题的通知
  • 税务登记需要什么资料2022
  • 发票已认证未抵扣怎么办
  • 现金福利需要发票吗
  • 小规模跨年发票可以入账吗
  • 个人税收起征点调整
  • 公司购买理财产品计入什么科目
  • ie异常
  • 苹果电脑的删除
  • 联想怎么进入bios设置u盘启动
  • 申报个税和缴纳个税一样吗
  • mac系统10.10
  • 电脑如何修改硬盘模式
  • 取得经营所得及其他所得交纳的所得税
  • 销售人员奖励办法
  • 编制合并报表的三种理论
  • 年底会计结账
  • vue移动和pc两套代码
  • 买新车注意事项与提车流程
  • 回迁房办理房产证契税怎么交
  • 基于php技术
  • 小企业会计准则2023电子版
  • laravel 5.1下php artisan migrate的使用注意事项总结
  • 如何认识软件测试
  • println参数
  • 帝国cms仿站工具
  • 企业对外担保能收担保费吗
  • 个人劳务费需交什么税种
  • 企业研发支出的最佳占比
  • 运输途中发生的费用
  • 结息会计凭证怎么写
  • 工程施工新科目
  • 期初是什么
  • 住宿补贴怎么算
  • 企业所得税包含营业外收入吗
  • 电子发票的缺点
  • 货物运输代理人
  • 不合格机器设备怎么处理
  • 房地产开发企业资质证书
  • 工地上购买的零食叫什么
  • 内含报酬率的计算公式Npv
  • 上月账单还未结算完毕
  • 技术员差旅费计入哪个会计科目
  • 长期股权投资两种核算方法的区别
  • 购买的材料入库属于什么会计科目
  • 承兑汇票可以买卖吗?
  • 新医院会计制度什么时候实施
  • 其他应付重分类到其他应收
  • 债务现金流量是正还是负
  • 怎么开劳务派遣工作证明
  • 内账会计工作职责和工作流程
  • 轻轻松松在树枝上摘果子用什么成语
  • ubuntu20.04.2安装
  • freebsd9.3安装教程
  • windows7网络和internet设置
  • 如何关闭mcafee软件
  • 怎么学linux
  • win7旗舰版远程链接登录不上
  • linux conio
  • wind7安装
  • 微软发布ChatGPT功能
  • div css table
  • Jquery针对tr td的一些实用操作方法(必看篇)
  • js怎么设置css
  • unity3d颜色
  • python 观察者
  • 北医三院预约号最晚几点取
  • 怎么修改纳税人信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设