位置: 编程技术 - 正文

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

  • 租集体土地建厂合法吗
  • 企业收取的租金应当计入
  • 异地建厂如何交社保
  • 进口环节应纳消费税的计税依据为
  • 清算缴纳企业所得税
  • 赠品要做视同销售申报纳税吗
  • 公司车转个人名下要交多少税
  • 起重机属于固定资产哪个类别
  • 做网站的费用会计分录
  • 资产负债表里面的应收账款怎么算
  • 社会团体财务手册怎么写
  • 网络服务费属于什么费用
  • 小规模个体户营业执照一共几个章
  • 加油站冲值加油怎么操作
  • 永续债的利息会计处理
  • 收到招聘通知
  • 地税人工费税率计算是怎样的?
  • 小规模企业所得税税率多少
  • 软件维护费入什么科目
  • 纳税人必须先复议再诉讼
  • 哪些人可以享受4050社保补贴
  • 预缴纳税申报怎么报
  • 劳务外包业务外包的区别
  • 公司零税收申报
  • 保险公司的税收是多少
  • 期初未缴税额和期末未缴税额
  • 发放的离职补偿金怎么做账
  • uefi+bios
  • 估计退货的会计分录
  • 房地产转让的条件
  • 公司筹备期的费用
  • 计算机怎么设置长亮
  • 中秋节福利产品清单
  • 高薪技术企业研发费用标准
  • lsm.exe是什么程序
  • typora修改背景颜色
  • chat gpt介绍开头
  • 实际收到的货款怎么做账
  • 增值税发票没认证 可以重新开吗
  • 在建工程完工后不转固定资产
  • 汽车运输企业的实际成本计算单位是
  • 原材料预付款如何做账
  • 短期借款会计分录例题
  • 测试费计入什么会计科目
  • 前端高手
  • 发票作废有费用吗
  • 识别假人民币的简便方法
  • 织梦专题页模板
  • 专用发票金额与专票不符
  • 事务所企业所得税
  • 长期待摊费用借方负数什么意思
  • 物流公司扣押货物算犯法吗
  • 进项税大于销项税怎么做分录
  • 材料的采购成本构成
  • 坏账准备怎么做底稿
  • 企业哪些行为可以避税
  • 产业扶持资金管理办法
  • 包工包料工程预付款的支付比例
  • 出口视同内销如何申报?
  • 办公室租金发票可以扺增值税吗
  • 原始凭证按来源分为
  • mysql连接是什么协议
  • distinct 多个
  • centos操作命令
  • win7的查看方式
  • win8系统怎么清理缓存
  • ubuntu设置关闭按钮在右侧
  • winkey.exe - winkey是什么进程
  • imac触发角
  • 如何知道自己的邮箱号
  • win10安装 升级
  • 系统闹钟设置
  • 开始菜单里没有设置选项
  • easyui combobox设置值
  • js如何引用
  • 各类扩展名
  • javascript中array数组对象的含义及常用方法
  • jquery关闭当前页面
  • 走访情况登记表 不想写怎么办
  • 税务工作者发展现状
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设