位置: 编程技术 - 正文

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里!)

  • 研发支出月末结转转去哪里?
  • 城建税 小规模
  • 给员工发礼品发什么礼品最实惠
  • 个税身份证验证怎么弄
  • 小规模纳税人建筑工程增值税税率
  • 营业外支出为负数怎么处理
  • 继续教育专项扣除金额
  • 一般纳税人开红票怎么处理
  • 不得抵扣的进项税额转出会计分录
  • 租赁设备出口怎么处理?
  • 职工伤残补助金被单位扣留违反什么法
  • 房子免租期
  • 员工劳动保险赔多少钱
  • 设备安装成本如何核算
  • 未计提坏账准备的会计分录
  • 用现金支付销售产品的运费
  • 工程施工企业人工成本最高多少
  • 合同印花税如何做账
  • 小规模纳税人月销售额不超过10万免征
  • 合伙企业个人所得税经营所得税率
  • 年底结账税金
  • 税局税种认定
  • 变更办税人信息在哪变更
  • 小微企业超过300万企业所得税
  • 房地产公司的广告语
  • 个税纳税期数如何规定的 怎么选择
  • 建筑业跨区预缴增值税未预缴
  • 交易性金融资产公允价值变动计入
  • 员工付款的手续费怎么算
  • 为什么可供出售的金融资产是非流动资产
  • 收入记借方
  • win11打开软件出现????????
  • win10 打开远程连接
  • Vue3+element-plus 后台管理系统(含登陆注册功能页面)
  • 银行代发工资会计科目怎么写
  • laravel视频教程
  • 劳务费可以抵扣进项吗
  • 生育津贴有什么补贴
  • 前端控制台
  • 以前年度损益调整
  • vue3使用ref获取元素
  • 支票的提示付款期限为自出票日期
  • 资产月报是会计报还是出纳报
  • vue3用法
  • 命令grep
  • 最好用的电脑强力卸载软件
  • php安装教程
  • 应收款挂账会计分录
  • vue3父子组件通信
  • 网银报错
  • sql server管理员权限
  • sql如何设置远程连接
  • 企业捐赠支出计入什么科目
  • 资本支出预算属于经营预算吗
  • 计提应付款是什么意思
  • 企业在建工程项目
  • 主营业务成本如何调整
  • 工会经费计提的比例是多少
  • 发票怎么保管不会坏
  • 工资达不到5000个人所得税
  • 小规模纳税人申报增值税的操作流程
  • 企业共同控制持股比例怎么算
  • windows10访问xp
  • linux使用pip
  • 联想lenovo小新pro16 2023版
  • hkcmd.exe损坏文件
  • centos5.6
  • 简述linux的系统结构
  • Python判断字符串结尾并输出yes或no
  • unix中创建新文件
  • js简单代码
  • bootstrap css框架
  • context和getApplicationContext()介绍
  • unityui
  • 多线程 python
  • 税务徽标含义
  • 公办幼儿园和企办幼儿园区别
  • 福建地方税务局历任 李
  • 杭州文明城市几连冠
  • 现行会计法律法规汇编2022版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设