一、变量的赋值操作

定义:只是形成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—类和对象之浅拷贝和深拷贝详细讲解相关推荐

  1. 【Python基础】对象的浅拷贝与深拷贝

    Python的赋值操作一般都是存储对象的引用,而不是对象的拷贝.因为如果直接对对象进行拷贝,那么运行将会比较缓慢,而且我们实际开发大部分场景都是希望引用对象而不是拷贝对象.当然了,如果你明确要求拷贝, ...

  2. python中的引用、浅拷贝和深拷贝

    在python中,有一句话:"一切皆为对象,一切皆为对象的引用",所以 只要记住这句话就很容易清楚python中的引用.浅拷贝和深拷贝了. 1. 引用 python中的引用是经常使 ...

  3. 对象的浅拷贝和深拷贝

    对象的浅拷贝和深拷贝 简要介绍 代码实现 简要介绍 浅拷贝:python拷贝一般都是浅拷贝.拷贝时,对象包含的子对象内容不拷贝.因此,源对象和拷贝对象引用同一个对象 深拷贝:使用copy模块的deep ...

  4. python类包含对象的个数_python类与对象各个算数运算魔法方法总结

    1.python类与对象各个算术运算魔法方法总结: 2.各个魔法方法应用举例: 3.实例训练: (1)我们都知道在 Python 中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却抛出异常 ...

  5. Python类与对象实验

    一.任务描述   本实验任务主要对Python类与对象进行一些基本操作,通过完成本实验任务,要求学生熟练掌握Python类与对象的关系,并对Python类与对象的基本操作进行整理并填写工作任务报告. ...

  6. 【Python基础入门系列】第10天:Python 类与对象

    首先,我已经假定你是个萌新或已经看了无数遍的垃圾文章,然后依然搞不懂类和对象,但是呢起码知道有类和对象这么两个玩意儿,我觉得有必要找一篇生动形象的示例来讲解. 由于你可能没有编程经验, 所以无法从学过 ...

  7. 一文讲全了Python 类和对象内容

    摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan  . Pytho ...

  8. python类和对象_Python类和对象

    python类和对象 Python is an object-oriented programming language. Python Classes and Objects are the cor ...

  9. python中对象的特性_python中类与对象之继承,python类和对象理解,面对对象的三大特性之...

    python中类与对象之继承,python类和对象理解,面对对象的三大特性之 面对对象的三大特性之继承 1.什么是继承? 在程序中,继承指的是class与class之间的关系 继承是一种关系,必须存在 ...

最新文章

  1. wordpressPHP实现ajax评论,wordpress无刷新评论:无需插件ajax实现wordpress comment无刷新机制...
  2. 设计模式大纲整理——编目、分类、选择与使用
  3. Intellij自动生成测试类
  4. Source Insight之Relation Window Properties配置和一些快捷键
  5. 一个简单的主机管理模拟程序
  6. github网页链接
  7. 本科毕业论文降低查重率小技巧
  8. php物料编码生成器,物料编码生成器下载|
  9. 2019年度YC全美路演,来看出色项目的全解析!
  10. 日系背景色RGB,CMYK数值
  11. shell脚本复制文件
  12. 数论-------数的倍数
  13. 常用函数式接口及Stream流
  14. C++病毒-----------混乱鼠标
  15. Java抽号系统_简单实现java抽奖系统
  16. 【计算机基础】Macbook安装Anaconda和使用Jupyter notebook
  17. STL教程:C++ STL快速入门
  18. 三菱四节传送带控制梯形图_基于三菱FX-2N系列PLC的四节传送带模拟控制设计
  19. 攻坚利器 | KFS助我们力挽狂澜,9天内政务系统开发迁移容灾全搞定!
  20. Keymob成为国际最大的移动广告平台

热门文章

  1. 数据中心小母线与列头柜供配电系统的综合比较
  2. 三伏天到了,记得为数据中心降降温
  3. pythonnamedtuple定义类型_详解Python中namedtuple的使用
  4. 计算机的诊断策略服务怎么打开,win7系统使用诊断策略服务提示“未运行”怎么解决...
  5. python文件处理,python文件处理
  6. Py之matplotlibseaborn :高级图可视化之​​​​​​​Q-Q分位数图probplot、​​​​​​​boxplot箱线图、stripplot分类散点图案例应用及代码实现
  7. IDE之VS:利用 Visual Studio中的IDE配置python语言进行编程
  8. 成功解决ValueError: attempted relative import beyond top-level package
  9. 成功解决tensorflow\contrib\learn\python\learn\datasets\mnist.py: maybe_download (from tensorflow.contri
  10. ML/DL:关于机器学习、深度学习算法模型的选择