变量
本质
https://zhuanlan.zhihu.com/p/331732504
1.对象:python里一切皆对象
对象的本质是:对象是分配的一块内存,有足够的空间去表示它们所代表的值。—— 《Learning Python》
对象具有三要素:标识(identity)、类型(type)、值(value)
可变对象,不可变对象
2.变量:是对象的一个临时标签
1 | x = 666 |
执行以上三句,在 python 中意味着什么, 实际发生了什么?
x = 666
会在内存中创建一个整型对象666,然后变量x
相当于一个标签,贴在此对象上,注意666是对象,x是变量y = x
将y
也作为这个整型对象666的标签,而不是重新在内存中创建一个对象。x = x+1
将x
的值加1
,然后在内存中创建另一个整型对象667
,将x
贴在这个对象上,而不是原来的666
上。
变量作用域范围
作用域从小到大 LEGB
- local
- enclosed 闭包
- global 全局变量
- built in 内置的