位置: 编程技术 - 正文

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

  • 开专票了还能不能退款
  • 补缴税款需要去税务大厅吗
  • 车辆购置税会计科目怎么做账
  • 五万元劳务费税率
  • 合同资产指的什么
  • 原材料加工成产品的会计分录
  • 企业购置房产进项被折旧怎么处理
  • 暂缓收缴工会经费的请示
  • 销项负数发票是代表交易没有成功吗?
  • 旅游服务住宿费入什么科目
  • 银行回单手续费分录
  • 贸易公司成本核算不准确的后果
  • 出版产品
  • 固定资产提折旧 账务处理
  • 参与工会职工应享受哪些福利待遇
  • 建筑施工企业工伤保险费率
  • 置换回房产怎么过户
  • 银行贷款利息从几点计算
  • 计提营业账簿印花税怎么做账
  • 销售原材料的账务处理
  • 公司向个人借款利率最高多少
  • 营改增小规模纳税人增值税纳税实务实训
  • 资本公积转增资本个人股东是否纳税
  • 预支差旅费的会计科目
  • 企业计提的安全生产费用年末应如何处理
  • 在建工程一次还是多次
  • 年报弥补以前年度亏损了还需要填107040表吗
  • 收到房租的增值税税率
  • 公司地址变更代办需要多少钱
  • 一键ghost有用吗
  • 暂估人工成本分录怎么写
  • 财政拨款结余的明细科目
  • 备注栏需要写内容嘛
  • 保险赔款确认函
  • 电脑软件如何开机自启动
  • linux zen3
  • PHP:mb_preferred_mime_name()的用法_mbstring函数
  • PHP:pg_cancel_query()的用法_PostgreSQL函数
  • linux阅读pdf
  • vue修改打包后静态资源路径的修改
  • 转回已核销的坏账
  • 项目完工叫什么
  • 汽车购置税去哪交钱
  • 日本长野县在哪
  • 购买房屋缴纳的税款
  • yolov5 output
  • 大前端技术
  • ftp命令行
  • 代销产品的形式有哪些
  • 企业的业务招待费是否可以随意开支
  • kibana 教程
  • mysql查询某个字段重复数据
  • 投资性房地产转固定资产账务处理
  • 本月还未抄报,请抄报完成之后再申报
  • 金税四期主要监控的内容
  • 小规模纳税人个人所得税税率
  • 股东分红申报个税怎么填
  • 海关被税没有发票
  • 化妆品的成本利润率
  • 高速过路费怎么补交
  • 采购家具分批结算方式
  • 生产性生物资产账务处理
  • 已经做账发票退款怎么办
  • 建账要求
  • 数据库日期要加引号吗
  • win10出现未知错误
  • centos7修改远程登录端口
  • centos5.5网络配置
  • centosgui
  • win 8怎么样
  • jquery 设置和返回元素属性
  • css中背景图片设置
  • shell脚本实现批量移动文件
  • js基础教程
  • jquery propertychange
  • 环保税的税率是怎么算的
  • 所得税的核定征收方法
  • 要深化税收制度改革健全
  • 买二手房土地证怎么过户
  • 网上订机票怎么取票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设