一. 变量只是名字
定义一个变量a,并通过id内建函数取出其内存地址,
>>> a = 1
>>> id(a)
4302704784
定义另一个变量b,将变量a的值赋予b,并取出b的内存地址,
>>> b = a
>>> id(b)
4302704784
变量a和b具有相同的地址,这与常见语言如C++、Java是十分不同的。
大多数语言中,定义变量a即为其分配内存并存储变量值。
变量b内存空间与a独立,赋值时进行拷贝。
在Python内部,变量只是一个与对象关联的名字用于保存指向实际对象的指针,进而与实例对象绑定。 变量赋值只拷贝指针,并不拷贝指针背后的对象。。
二. 可变对象和不可变对象
2.1 不可变对象
不可变对象在对象创建后的整个生命周期,其值都不可修改。
以整数对象为例,
>>> a = 1
>>>