变量不是盒子

在示例所示的交互式控制台中,无法使用“变量是盒子”做解释。图说明了在 Python 中为什么不能使用盒子比喻,而便利贴则指出了变量的正确工作方式。

变量 a 和 b 引用同一个列表,而不是那个列表的副本

>>> a = [1, 2, 3]>>> b =a>>> a.append(4)>>>b

[1, 2, 3, 4]

如果把变量想象为盒子,那么无法解释 Python 中的赋值;应该把变量视作便利贴,这样示例中的行为就好解释了

注意:

对引用式变量来说,说把变量分配给对象更合理,反过来说就有问题。毕竟,对象在赋值之前就创建了

标识、相等性和别名

Lewis Carroll 是 Charles Lutwidge Dodgson 教授的笔名。Carroll 先生指的就是 Dodgson 教授,二者是同一个人。

python对象的引用_Python 对象引用、可变性和垃圾回收相关推荐

  1. 流畅的python 对象引用 可变性和垃圾回收

    对象引用.可变性和垃圾回收 变量不是盒子 人们经常使用"变量是盒子"这样的比喻,但是这有碍于理解面向对象语言中的引用式变量.Python 变量类似于 Java 中的引用式变量,因此 ...

  2. python的垃圾处理机制_Python语法入门之垃圾回收机制

    一 引入 解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,那 ...

  3. c++ 将引用赋值给引用_5分钟掌握 Python 对象的引用

    1. 引言 引用在各种编程语言中都有涉及,如java中值传递和引用传递.python的对象引用也是学习python过程中需要特别关注的一个知识点,特别是对函数参数传递,可能会引起不必要的BUG.本文将 ...

  4. 记录学习《流畅的python》的一些知识-----对象引用,可变性和垃圾回收

    记录我学习<流畅的python>的过程--对象引用,可变性和垃圾回收 2021.9.22 1.变量不是盒子 2.标识.相等性和别名 3.默认做浅复制 4.函数的参数作为引用时 5.del和 ...

  5. 《Fluent Python》学习笔记:第 8 章 对象引用、可变性和垃圾回收

    本文主要是 Fluent Python 第 8 章的学习笔记.这部分主要是介绍了变量.引用.对象.深拷贝.浅拷贝.垃圾回收等.本章虽然枯燥,但是非常有用. <Fluent Python>学 ...

  6. [流畅的Python][8][对象引用、可变性和垃圾回收]

    第8章 对象引用.可变性和垃圾回收 "你不开心,"白骑士用一种忧虑的声调说,"让我给你唱一首歌安 慰你吧--这首歌的曲名叫作 :<黑线鳕的眼睛>." ...

  7. 流畅的Python读书笔记-第八章-对象引用、可变性和垃圾回收

    第8章:对象引用,可变性和垃圾回收 在Python里面变量不是盒子,而是便利贴,类似于Java中的引用变量,因此最好把它们理解为附加在对象上的标注. 因为变量不过是标注,因此无法阻止为对象贴上多个标注 ...

  8. python基础编程:基于Python对象引用、可变性和垃圾回收详解

    下面小编就为大家带来一篇基于Python对象引用.可变性和垃圾回收详解.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 变量不是盒子 在示例所示的交互式控制台中,无法使用 ...

  9. Python 对象引用、可变性和垃圾回收

    变量不是盒子 变量是标注,而不是盒子.Python变量类似于Java中的引用式变量,因为最好理解为附加在对象上的标注. 对于引用式变量来说,说把变量分配给对象更加合理.把变量s分配给'xxx',而不是 ...

最新文章

  1. 20145223《信息安全系统设计》 实验四 驱动程序设计
  2. C#判断年份是否为闰年
  3. mysql创建索引要加index吗_MySql创建索引,添加索引
  4. Linux 服务器集群系统实现方案详解
  5. 无法从ftp服务器上复制文件格式,ftp服务器上复制不了文件格式
  6. 解封装(二):初始化解封装avformat_open_input,各参数分析,以及简单流程
  7. [渝粤教育] 西南科技大学 试验统计方法 在线考试复习资料2021版
  8. 小游戏策划案例精选_小游戏活动策划方案
  9. 电信无线路由器服务器网站,电信拨号上网连无线路由器的方法
  10. 在 Python 中使用机器学习进行人体姿势估计
  11. 二级域名指向同一ip的不同端口
  12. 微信开放平台开发——网页微信扫码登录(OAuth2.0)
  13. matlab距离平方和公式推导,lstopt 非线性拟合:相关系数之平方(R^2)和决定系数(DC)计算公式是?...
  14. 如何使用宝塔搭建个人网站
  15. Python前世今生
  16. 如何保养笔记本的电池
  17. C++ 动态创建二维数组
  18. 我的docker随笔38:用 registry 搭建私有仓库
  19. 把计算机器显示桌面,电脑显示器桌面过大怎么办
  20. 抖音神器---Java实现图片(Image)转字符(ASCII)图片

热门文章

  1. @Controller与@RestController有何区别
  2. xshell密码保存位置_一键安装宝塔面板后哪里找账号密码?
  3. linux 上传下载工具有哪些,Linux上传下载工具
  4. python开发k8s管理平台_运维开发和k8s运维如何选择,请各位大神指导一下?
  5. 张云飞 201771010143 《面对对象程序设计(java)》第十七周学习总结
  6. Series 入门(创建和增删改查)
  7. Visual Studio 2013 中使用断点
  8. Perl多线程ping加端口扫描
  9. ComboBox控件值对类
  10. DotNet中的集合对象(2): Hashtable