python是动态语言:变量本身类型不固定。
例如:
a = 'ABC'
a = 1
Java是静态语言:
int a = 1
a = 'ABC' #此时就会报错
在Python创建 a = 1 时其实解释器做了两件事:
- 在内存中创建了1这个数值
- 在内存中创建了名为a的变量,并把它指向1
a = 1
b = a
a = 'ABC'
print(b) #输出结果为1
对变量赋值x = y
是把变量x
指向真正的对象,该对象是变量y
所指向的。随后对变量y
的赋值不影响变量x
的指向。