位置: 编程技术 - 正文

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

  • 用人单位延迟给员工交社保怎么办
  • 购买福利用品
  • 土地使用权摊销计入在建工程
  • 本地的住宿费怎么交
  • 结转净利润到利润分配分录
  • 转入公司对公账户怎么办
  • 同一控制企业合并的特征包括
  • 商品流通企业应将当期已销商品的进价转入当期费用
  • 修理费没有发票怎么做账
  • 企业期货投资收益何时记账的
  • 银行账户销户时需要收回开户许可证吗
  • 企业外购零部件入存货哪一会计科目核算?
  • 个人所得税返还奖励财务人员做账
  • 核定征收企业所得税的小型微利企业不得享受优惠政策
  • 转账支票可不可以挂失止付
  • 企业技术中心认定专精特新
  • 微信支付宝余额为零的表情包
  • 工程施工余额怎么处理
  • 2020年开公司优惠政策
  • 增值税普通发票有什么用
  • 收购免税农产品的税率
  • virtualbox打不开虚拟机
  • 内部应收账款计算公式
  • 质权的成立时间为
  • 代收代缴水电费商家不缴可以停电吗
  • win10怎么样禁止电脑运行某个程序
  • 华为如何定时关机
  • 计算机系统结构第三版课后答案
  • 无形资产出租的账务处理
  • php-cpp
  • php unicode
  • 长期股权投资
  • 线性回归csdn
  • php实现支付宝支付
  • 怎样计提购销合同印花税
  • 多缴税金抵税会怎么样
  • 税负率怎么计算举例子
  • 个人退税证明怎么开具
  • 保理融资费用账务处理
  • Parcel 中文文档 | Parcel 中文网
  • 一般纳税人增值税税率
  • 纳税人销售货物
  • 委托加工物资的成本包括
  • 管理费用税金包括
  • 会计差错更正的会计处理方法
  • 财政拨款公司的资金来源
  • 关于幼儿园的会议内容
  • 根据企业会计准则第4号固定资产,企业可选用的折旧方法
  • 删除sql server2019
  • mysql怎么创建储存过程
  • mysql写错了怎么结束
  • unix的文件系统采用
  • win8系统安装步骤
  • fedora s9
  • win7系统修复工具在哪
  • win8不能联网
  • ias.exe是什么程序
  • 移动硬盘中安装系统
  • mac安装软件提示无法检查更新
  • windows createfile
  • 显示隐藏文件也看不到
  • windows10周年纪念版
  • ubuntu怎样
  • win7系统咋样
  • winpe 系统还原
  • cocos2dx用checkbox实现单选框和button实现table按钮
  • react-native-navigation
  • 详细分析我国针对疫情的国防动员举措
  • unity3D游戏开发
  • 三个文件怎么汇总到一个里
  • jquery filedownload
  • unity连接
  • Java如何获得集合里的元素
  • android studio操作指南
  • 国税账户密码在哪里能找到
  • 增值税发票税控开票软件卸载不了
  • 云票助手使用步数怎么改
  • 税务代收是什么意思
  • 社保缴费信息提醒怎么改
  • 税金乘以12%是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设