python—类和对象之浅拷贝和深拷贝详细讲解
一、变量的赋值操作
定义:只是形成2个变量,实际上还是指向同一个对象
代码如下:
内存示意图:
将创建CPU类的实例对象赋值给cpu1进行储存,所以cpu1的id为0212,
然后将cpu1赋值给cpu2,cpu2的id也为0212;
cpu1和cpu2指向同一个类的实例对象。
在一个类中,有一个类的实例对象,用2个变量去存储。
二、浅拷贝
定义:
python拷贝一般都是浅拷贝,拷贝时,只拷贝父对象,不会拷贝对象的内部的子对象,因此,源对象与拷贝对象会引用同一个子对象
代码:
代码执行结果为:可以看到computer和computer2的对象不同,但是所包含的子对象computer.cpu1和computer2.cpu1一样,computer.disk和computer2.disk一样
内存示意图:
三、深拷贝
定义:
使用copy模块的deepcopy函数,递归拷贝对象中包含的子对象,源对象和拷贝对象所有的子对象也不相同。
代码:
执行结果为:
代码执行结果为:可以看到computer和computer3的对象不同,而且所包含的子对象computer.cpu1和computer3.cpu1也不一样,computer.disk和computer3.disk也不一样。
内存示意图:
python—类和对象之浅拷贝和深拷贝详细讲解相关推荐
- 【Python基础】对象的浅拷贝与深拷贝
Python的赋值操作一般都是存储对象的引用,而不是对象的拷贝.因为如果直接对对象进行拷贝,那么运行将会比较缓慢,而且我们实际开发大部分场景都是希望引用对象而不是拷贝对象.当然了,如果你明确要求拷贝, ...
- python中的引用、浅拷贝和深拷贝
在python中,有一句话:"一切皆为对象,一切皆为对象的引用",所以 只要记住这句话就很容易清楚python中的引用.浅拷贝和深拷贝了. 1. 引用 python中的引用是经常使 ...
- 对象的浅拷贝和深拷贝
对象的浅拷贝和深拷贝 简要介绍 代码实现 简要介绍 浅拷贝:python拷贝一般都是浅拷贝.拷贝时,对象包含的子对象内容不拷贝.因此,源对象和拷贝对象引用同一个对象 深拷贝:使用copy模块的deep ...
- python类包含对象的个数_python类与对象各个算数运算魔法方法总结
1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...
- Python类与对象实验
一.任务描述 本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. ...
- 【Python基础入门系列】第10天:Python 类与对象
首先,我已经假定你是个萌新或已经看了无数遍的垃圾文章,然后依然搞不懂类和对象,但是呢起码知道有类和对象这么两个玩意儿,我觉得有必要找一篇生动形象的示例来讲解. 由于你可能没有编程经验, 所以无法从学过 ...
- 一文讲全了Python 类和对象内容
摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan . Pytho ...
- python类和对象_Python类和对象
python类和对象 Python is an object-oriented programming language. Python Classes and Objects are the cor ...
- python中对象的特性_python中类与对象之继承,python类和对象理解,面对对象的三大特性之...
python中类与对象之继承,python类和对象理解,面对对象的三大特性之 面对对象的三大特性之继承 1.什么是继承? 在程序中,继承指的是class与class之间的关系 继承是一种关系,必须存在 ...
最新文章
- wordpressPHP实现ajax评论,wordpress无刷新评论:无需插件ajax实现wordpress comment无刷新机制...
- 设计模式大纲整理——编目、分类、选择与使用
- Intellij自动生成测试类
- Source Insight之Relation Window Properties配置和一些快捷键
- 一个简单的主机管理模拟程序
- github网页链接
- 本科毕业论文降低查重率小技巧
- php物料编码生成器,物料编码生成器下载|
- 2019年度YC全美路演,来看出色项目的全解析!
- 日系背景色RGB,CMYK数值
- shell脚本复制文件
- 数论-------数的倍数
- 常用函数式接口及Stream流
- C++病毒-----------混乱鼠标
- Java抽号系统_简单实现java抽奖系统
- 【计算机基础】Macbook安装Anaconda和使用Jupyter notebook
- STL教程:C++ STL快速入门
- 三菱四节传送带控制梯形图_基于三菱FX-2N系列PLC的四节传送带模拟控制设计
- 攻坚利器 | KFS助我们力挽狂澜,9天内政务系统开发迁移容灾全搞定!
- Keymob成为国际最大的移动广告平台
热门文章
- 数据中心小母线与列头柜供配电系统的综合比较
- 三伏天到了,记得为数据中心降降温
- pythonnamedtuple定义类型_详解Python中namedtuple的使用
- 计算机的诊断策略服务怎么打开,win7系统使用诊断策略服务提示“未运行”怎么解决...
- python文件处理,python文件处理
- Py之matplotlibseaborn :高级图可视化之​​​​​​​Q-Q分位数图probplot、​​​​​​​boxplot箱线图、stripplot分类散点图案例应用及代码实现
- IDE之VS:利用 Visual Studio中的IDE配置python语言进行编程
- 成功解决ValueError: attempted relative import beyond top-level package
- 成功解决tensorflow\contrib\learn\python\learn\datasets\mnist.py: maybe_download (from tensorflow.contri
- ML/DL:关于机器学习、深度学习算法模型的选择