首页 » 父与子的编程之旅:与小卡特一起学Python » 父与子的编程之旅:与小卡特一起学Python全文在线阅读

《父与子的编程之旅:与小卡特一起学Python》2.5 它们有多“可变”

关灯直达底部

变量之所以叫做“变量”是有原因的,就是因为它们是……怎么说呢……是可变的!这是指你可以改变赋给它们的值。在 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)时我们会更多地讨论这方面的内容。