爸爸教我学Python编程-第9课-内存和变量的赋值和联接-少儿编程教育网

变量之所以叫作“变量”是有原因的,就是因为他们是……怎么说呢……是可变的!这是指你可以改变赋给它们的值。在Python中,这就要创建一个与原先不同的新东西,并把旧标签(名字)贴到这个新东西上。

上一节中我们就采用这种方式改变了MyTeacher。我们将标签MyTeacher从"Mrs.Goodyear"上取下来,把它贴到一个新东西“Mrs.Tysick”上。这样就为MyTeacher赋了一个新值。

下面再来试一个例子,还记得之前创建的变量Teacher吗?嗯,如果你还没有关闭IDLE,这个变量就还在,可以检查看看:

>>> Teacher

"Mr.Morton"

没错,确实还在。不过现在可以把它改成其它内容:

>>>Teacher=‘Mr.smith'

>>>Teacher

‘Mr.smint'

我们创建了一个新东西“Mr.Smith”,并把字命名为Teacher。我们的标签从原来的值上取下来,贴到了这个新东西上,不过原来的“Mr.Morton”怎么样了呢?

应该记得,一个东西可以有多个名字(上面可以贴多个标签)。如果“Mr.Morton”上还有另一个标签,那么它还在计算机的内存里。不过,如果它上面再没有任何标签了,Python就会发现再没有人需要它了,所以会把它从内存中删除。

这样一来,内存中就不会塞满那些没人用的东西。Python会自动完成所有这些清理工作,根本不用你操心。

还有一点很重要,这里没有真的把“Mr.Morton”改成“Mr.Smith”。我们只是把标签从一个东西移到另一个东西上(重新指派名字。)Python中有些东西(如数字和字符串)是不能改变的。你可以把它们的名字重新指派到其它东西上(就像我们刚才所做的一样),但是并不能对原选的东西做任何改变。

Python中还有一些东西是可以改变的。

第12章介绍列表(list)时我们会更多的讨论这方面的内容。

还可以创建一个等于自己的变量:

>>> Score = 7

>>> Score = Score

我敢打赌,你肯定在想:“什么嘛,这一点儿用也没有!”你的想法没错,这实际上就是在说“我是我”。不过,稍稍做点改变,你就能成为一个全新的你!试试看:

>>> Score = Score + 1

>>> Print Score

8

这里发生了什么?在第一行中,score标签本来贴在值7上,我们创建了一个新东西:score!,也就是7+1.这个新东西是8.然后把score标签从原来的东西(7)上取下来,贴到这个新东西(8)上,所以score从7重新指派到8.

要让变量等于某个东西,这个变量总会出现在等号(=)左边。巧妙的是,变量也可以出现在等号右边。这很有用,在很多程序中都会看到。,最常见的用法是让变量自增(increment),也就是让它增加某个量(就像前面所做的),或者与之相反,也可以让变量自减(decrement),让它减少某个量。

开始时score=7

让它增加1(得到8),创建一个新东西。

把名字score赋给这个新东西。

这样一来,score就从7变成了8.

关于变量,有几个重要的问题必须记住。

程序可以在任何时间对变量重新赋值(把标签贴在新东西上)。这一点很重要,必须记住。因为编程中最常见的bug就是改变了不该改变的变量,或者尽管改变的变量无误,但是时机不合适。

要避免这种情况,有效的方法是使用容易记的变量名。我们可能用过下面这两个变量名:

t = 'Mr.Morton' 或者 x1796sadakv65sd9 = 'Mr.Morton'

不过这样的程序中会很难记住,如果使用这些变量名,出错的可能性会更大。应该尽量使用能够说明用途的名字。可以告诉你变量要用来做什么。

变量名区分大小写,这说明大写和小写是不同的,所以teacher和Teacher是两个完全不同的名字。

记住一,如果想了解Python的所有变量命名规则,可以查看附录。

爸爸教我学Python编程-第9课-内存和变量的赋值和联接-少儿编程教育网

·测试题

1、如何告诉Python变量是字符串(字符)而不是数字?

2、一旦创建一个变量,能不能改变赋给这个变量的值?

3、变量名TEACHER和TEACHEr相同吗?

4、对Python来说,‘Blah\'与“Blah”一样吗?

5、对Python来说,‘4’是不是等同于4?

6、下面哪个变量名不正确?为什么?

(a)Teacher2

(b)2Teacher

(c)teacher_25

(d)Teacher

7、“10”是数字还是字符串?

·动手试一试

1、创建一个变量,并给字赋一个数值(任何数值都行)。然后使用print显示这个变量。

2、改变这个变量,可以用一个新值替换原来的值,或者将原来的值增加某个量。使用print显示这个新值。

3、创建另一个变量,并赋给它一个字符串(某个文本)。然后使用print显示这个变量。

4、像上一章一样,在交互模式中让Python计算一周有多少分钟。不过这一次要使用变量。以Daysperweek(每周天数)、Hoursperday(每天小时数)和Minuresperhour(每小时分钟数)为名分别创建变量(或者也可以用自己取的变量名)。然后将它们相乘。

5、人们总是说没有足够的时间做到尽善尽美。如果一天有26个小时,那么一周会有多少分钟呢?(提示:改变HoursPerDay变量)