Python笔记:第二部分 类型和运算 第6章 动态类型

变量与对象和引用

Python中的变量赋值

  1. 变量创建:一个变量(也就是变量名)。例如 a ,当代码第一次给他赋值时就创建了它,之后的赋值将会改变已创建的变量名的值。从技术上讲:Python在代码运行之前先检测变量名,即最初的赋值操作在创建变量。
  2. 变量类型:变量不会拥有和它关联的类型信息和约束。类型的概念只存在对象,而不存在于变量名。变量是通用的。
  3. 变量使用:变量使用前必须明确的赋值。因为变量出现在表达式中,他会立刻被其所引用的对象所代替,无论对象的类型。

变量赋值的过程

  • 变量和对象保存在内存中的不同部分,并通过连接相关联。
  • 变量总是连接到对象,并且绝不会连接到其他变量上,但更大的对象可能连接到其他对象
  • 类型属于对象,而不是变量
    在这里插入图片描述

引用

  • Python中从对象到变量的连接叫做引用。引用是一种关系,通过内存中的指针形式来实现。
  • 一旦引用变量,Python自动跟踪这个变量到对象的连接。
    1.变量是一个系统表的入口,包含了指向对象的连接。
    2.对象是被分配到的一块内存,有足够的空间去表达它们所代表的值。
    3.引用是自动形成的从变量到对象的指针。

对象的垃圾收集

  • 在Python中,每当一个变量名被赋予一个新的对象,如果原来的对象没有被其他变量名或对象所引用,那么之前的那个对象占有的空间就会被回收,这种自动回收对象空间的技术叫做垃圾回收
  • 垃圾回收的功能实现主要基于引用计数器。

共享引用

在这里插入图片描述

  • 共享引用(对象):多个变量名引用同一个对象。
  • 如图a与b并未相互关联,Python不存在变量之间相互关联,真实情况是两个变量通过引用指向了同一个对象。
发布了14 篇原创文章 · 获赞 22 · 访问量 6944

猜你喜欢

转载自blog.csdn.net/weixin_46283583/article/details/104592866
今日推荐