变量之所以叫做“变量”是有原因的,就是因为它们是……怎么说呢……是可变的!这是指你可以改变赋给它们的值。在 Python 中,这就要创建一个与原先不同的新东西,并把旧标签(名字)贴到这个新东西上。上一节中我们就采用这种方式改变了 MyTeacher
。我们将标签 MyTeacher
从 "Mrs. Goodyear"
上取下来,把它贴到一个新东西 "Mrs. Tysick"
上。这样就为 MyTeacher
赋了一个新值。
下面再来试一个例子。还记得之前创建的变量 Teacher
吗?嗯,如果你还没有关闭 IDLE,这个变量就还在。可以检查看看:
>>> Teacher'Mr. Morton'
没错,确实还在。不过现在可以把它改成其他内容:
>>> Teacher = 'Mr. Smith'>>> Teacher'Mr. Smith'
我们创建了一个新东西 "Mr. Smith"
,并把它命名为 Teacher
。我们的标签从原来的值上取下来,贴到了这个新东西上。不过原来的 "Mr. Morton"
怎么样了呢?
应该记得,一个东西可以有多个名字(上面可以贴多个标签)。如果 "Mr. Morton"
上还有另一个标签,那么它还在计算机的内存里。不过,如果它上面再没有任何标签了,标签被移走 Python 就会发现再没有人需要它了,所以会把它从内存中删除。
这样一来,内存中就不会塞满那些没人用的东西。Python 会自动完成所有这些清理工作,根本不用你操心。
还有一点很重要,这里并没有真的把 "Mr. Morton"
改成 "Mr. Smith"
。我们只是把标签从一个东西移到另一个东西上(重新指派名字)。Python 中有些东西(如数字和字符串)是不能改变的。你可以把它们的名字重新指派到其他东西上(就像我们刚才所做的一样),但是并不能对原先的东西做任何改变。
Python 中还有一些东西是可以改变的。第 12 章介绍列表(list)时我们会更多地讨论这方面的内容。