1. 变量的概念
- 用标识符命名的存储单元的地址称为变量;
- 变量是用来存储数据的,通过标识符可以获取变量的值,也可以对变量进行赋值;
2. 变量三要素
- 变量是有三部分构成,变量名、赋值符号、变量值,示例如下:
# 变量名 赋值符号 变量值 name = "Tom"
- 变量名
- 即 name;
- 当变量定义的时候,会在内存中申请一块空间专门用来存放变量值,而变量名就是这个空间的 门牌号,能方便的找到这块内存空间;
- 赋值符号
- 即 == 号;
- 它的意义是将右侧的变量值内存地址绑给左侧的变量名,当赋值动作完成后,变量名所指向的存储单元存储了被赋的值;
- 在Pyhton语言中赋值操作符为“=、+=、-=、*=、/=、%=、**=、//=”;
- 变量值
- 即 “Tom” 这个字符串;
- 变量值就是内存区域的状态,被修改为 “Tom” 这个字符串,定义之后可以用变量名来访问这个字符串;
- 变量值有一个 引用次数,一旦这块空间被引用次数为 0,就意味着我们没有途径能找到这块空间了,此时如果不对其进行清理,就会导致内存被占用;
- 系统找不到这块空间时,就会触发Python的内存管理 垃圾回收机制,对该空间进行回收在利用;
3. 变量三特性
- id
- 就是变量值得内存空间地址,每一个值都有唯一一个id;
- 内存地址不同,id就不相同;
- 可以使用 id() 来查看变量的内存地址。
- type
- 不同类型的值记录事物的状态有所不同,这就是Python的数据类型,如 str、int 等;
- 可以使用type()来查看。
- 变量值
- 变量值就是存储值的本身。
- Python 和 Java 中 变量的区别
- Java 中声明变量的时候,会在内存中开辟一个内存区域,这个区域的大小根据变量的类型不同而不同;
- Python 中变量实质上是一个指针,先把变量的赋值(入一个整数)创建好,然后把变量的指针指向创建好的区域。这类似于 便利贴,变量本身没有类型,赋值才有类型,变量只是贴在赋值上的一个 “便利贴” 而已;
4. 变量操作示例
- 查看变量三特性
```
a = “hello” # 赋值 id(a) # 查看 id 2280593916592 type(a) # 查看 type
<class ‘str’>
print(a) # 查看值 hello
- 多变量指向同一内存区域 - 有如下代码和执行结果;
a = [1, 2, 3] b = a b.append(4) print(a) [1, 2, 3, 4] ```
- 通过上面的示例我们发现,我们将 a 赋值给 b 以后,对 b 的 append 操作直接影响了 a,导致 a 也跟着 append 一个 4 元素;
- 这从侧面说明 a 和 b 两个变量指向同一块内存区域。