位置: 编程技术 - 正文

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

  • 收到退税款怎么入账
  • 航信金税盘时间校准
  • 建筑业企业生产经营情况表
  • 哪些发票能做公章
  • 增值税电子发票能抵税吗
  • 带清单的发票怎么贴原始凭证
  • 企业开出的普票和专票对税额有影响吗
  • 未给对方开票对方举报情况怎么写
  • 水利建设基金的计税依据及税率
  • 暂估发票未到年报怎么调
  • 建筑行业暂估成本的会计分录怎么写
  • 本年利润年末账务处理
  • 保证金计入哪个会计科目
  • 出租固定资产收取租金
  • win10为什么毛病这么多
  • windows 11怎么样
  • 小规模纳税人的专票可以抵税吗
  • 百合花怎么养殖简单
  • 汇算清缴后补缴企业所得税账务处理
  • 固定资产出租需交什么税
  • 外籍人员个税免征吗
  • 牙痛怎么办怎么治疗
  • vue修改打包后静态资源路径的修改
  • php生成php文件
  • 阿卡迪亚国家公园景点
  • 解决前端跨域问题
  • 云服务器可以一直开着吗
  • react 16.8 新特性
  • 使用vue开发app
  • 使用van-picker 动态设置当前选中项
  • 印花税的营业账簿是什么意思
  • 非独立核算的分公司如何报税
  • 报表中的盈余公积怎么算
  • 固定资产清理怎么报税呢
  • 一般纳税人申报表电子版
  • 办公室装修费多少钱可以一次性入账
  • 关于SQL Server 2019文件组的叙述正确的是
  • 微信小程序 滚动 变色
  • 应付账款的主要成本包括
  • 购配件组装机器多少钱
  • 税控服务费全额抵扣怎么申报
  • 小企业会计制度废止
  • 银行承兑的购买
  • 累计盈余的主要来源有
  • 税金附加科目有哪些
  • 应收账款收不回来怎么处理比较好
  • 行政事业单位固定资产计提折旧
  • 医药进销存管理系统
  • 其它流动资产为负数原因
  • 开了票收不到钱怎么做账
  • 去年未开票收入未申报
  • 电脑属于固定资产哪类
  • sql语句学习
  • win1 开机启动
  • win7怎么更改音频输出
  • winpe.wim怎么安装
  • 如何更改win7
  • ubuntu开机黑屏无法进入登录界面
  • win10怎么打开语言设置
  • linux vps 教程
  • 系统更新win10
  • hke是什么意思
  • windows 托盘
  • win7系统ie浏览器打不开
  • linux从一个命令获取数据到另一个命令
  • JavaScript浏览器打开
  • rd命令是什么
  • python编程模拟
  • js内存泄漏的原因及解决办法
  • DOS命令删除文件夹
  • dos 改名
  • jquery获取指定元素
  • mvp 框架
  • jquery有哪些
  • 发票查验平台可以查询自己给对方开的发票吗?
  • 郑州二套房契税征收2023标准是多少
  • 国家规定的免税项目
  • 企业所得税季度申报表填报说明
  • 酒店业需要缴纳哪些税
  • 公司注销时注册资金未缴完
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设