变量,是各种编程语言中的一个基本概念,是初学者最先接触到的概念之一。
而在笔者带小白学Python的过程中,发现有很多同学对于“Python中的变量名只是一个标签”这句话理解不深入。比如我常常用这两个小题目来考学生:
a=1
b=1
id(a)==id(b)
(猜猜结果是True还是False?为什么?)
a=
b=
id(a)==id(b)
(猜猜结果是True还是False?为什么?)
a=b=1
b=2
a
(猜猜a的值是几?为什么?)
同学们可以先思考一下结果,或者自己在IDLE中试一试。
如果你做错了,可以看看下面这段话(引自我写的《轻松学Python编程》一书):
对于Python中的变量,我们可以这么理解:变量包括变量名和变量值两部分。其中,变量名可以看成是一个标签,它贴在存储变量值的内存空间上。当我们用赋值语句改变一个变量的值时,其实相当于把变量名这个标签贴到了一个存储了新值的内存空间上。
欢迎