二、变量
1. 变量的概念
在 Python 中,变量也称为:对象的引用。因为,变量存储的就是对象的地址。
变量通过地址引用了“对象”。
变量就是一个可以变化的符号,用来代替实现的数据
变量的数据是多少,使用变量时,计算的数据就是多少
2. 变量的声明和赋值
- 声明和赋值
变量的声明和赋值用于将一个变量绑定到一个对象上
- 格式:
变量名 = 值
- 使用:
变量名
注意
- 在 Python 中,每个变量 在使用前都必须赋值(初始化),变量 赋值以后 该变量 才会被创建
- 变量名 只有在 第一次出现 才是 定义变量
- 变量名 再次出现,不是定义变量,而是直接使用之前定义过的变量
- 链式赋值
链式赋值用于同一个对象赋值给多个变量。
x = y = 123
相当于:x = 123; y = 123
- 系列解包赋值
- 系列数据赋值给对应相同个数的变量
a,b,c = 4,5,6 # 相当于:a = 4; b = 5; c = 6
a,b,c,d = 1,2,3,4 # 同时赋值
应用:
使用系列解包赋值实现变量交换
a,b=1,2
a,b=b,a
print(a,b)
- 组包、拆包
- 组包: 将多个值同时赋给一个变量时,解释器会进行自动组包操作
- 组包后变量保存的值为一个元组
a = 1, 2, 3, 4, 5
print(a) # (1, 2, 3, 4, 5)
print(type(a)) #<class 'tuple'>
- 拆包: 将一个容器值(元组、列表、字符串),里面的多个数据同时赋值多个变量,解释器会进行拆包操作
注意:
- 拆包要注意被赋值的变量个数和元组中的值个数相同
- 容器可以是
- 元组
- 列表
- 字符串
- 字典(字典只能将key赋值给多个变量,不能赋值value)
item = (1,2,3,4)
a,b,c,d = item # 解包
3. 删除变量和垃圾回收机制
可以通过 del 语句删除不在使用的变量。
del a
如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间。
即:栈中变量被删除,堆中的对象没有被任何变量引用,最后被垃圾回收