变量

本质

https://zhuanlan.zhihu.com/p/331732504

1.对象:python里一切皆对象

对象的本质是:对象是分配的一块内存,有足够的空间去表示它们所代表的值。—— 《Learning Python》

对象具有三要素:标识(identity)、类型(type)、值(value)

img

可变对象,不可变对象

img

2.变量:是对象的一个临时标签

1
2
3
x = 666
y = x
x = x + 1

执行以上三句,在 python 中意味着什么, 实际发生了什么?

  1. x = 666会在内存中创建一个整型对象666,然后变量x相当于一个标签,贴在此对象上,注意666是对象,x是变量
  2. y = xy也作为这个整型对象666的标签,而不是重新在内存中创建一个对象。
  3. x = x+1x的值加 1,然后在内存中创建另一个整型对象667,将x贴在这个对象上,而不是原来的 666 上。

变量作用域范围

作用域从小到大 LEGB

  • local
  • enclosed 闭包
  • global 全局变量
  • built in 内置的
  

:D 一言句子获取中...