还可以创建一个等于自己的变量:
>>> Score = 7>>> Score = Score
我敢打赌,你肯定在想:“什么嘛,这一点儿用都没有!”你的想法没错。这实际上就是在说“我是我”。不过,稍稍做点改变,你就能成为一个全新的你!试试看:
这里发生了什么?在第一行中,Score
标签本来贴在值 7
上。我们创建了一个新东西:Score + 1
,也就是 7 + 1
。这个新东西是 8
。然后把 Score
标签从原来的东西(7)上取下来,贴到这个新东西(8)上。所以 Score
从 7
重新指派到 8
。
要让变量等于某个东西,这个变量总会出现在等号(=)左边。巧妙的是,变量也可以出现在等号右边。这很有用,在很多程序中都会看到。最常见的用法是让变量自增(increment),也就是让它增加某个量(就像前面所做的),或者与之相反,也可以让变量自减(decrement),让它减少某个量。
开始时
Score
= 7。让它增加 1(得到 8),创建一个新东西。
把名字
Score
赋给这个新东西。
这样一来,Score
就从 7 变成了 8。
关于变量,有几个重要的问题必须记住。
程序可以在任何时间对变量重新赋值(把标签贴在新东西上)。这一点很重要,必须记住,因为编程中最常见的 bug 就是改变了不该改变的变量,或者尽管改变的变量无误,但是时机不合适。
要避免这种情况,有效的方法是使用容易记的变量名。我们可能用过下面这 两个变量名:
t = /'Mr. Morton/'
或
x1796vc47blahblah = /'Mr. Morton/'
不过这样在程序中会很难记住。如果使用这些变量名,出错的可能性会更大。应该尽量使用能够说明用途的名字,可以告诉你变量要用来做什么。
变量名区分大小写。这说明大写和小写是不同的。所以
teacher
和Teacher
是两个完全不同的名字。
记住,如果想了解 Python 的所有变量命名规则,可以查看附录 A。
像程序员一样思考
我们曾经说过,你可以为变量取任何名字(不过前提是要满足命名规则),这一点不假。你可以把变量叫做
teacher
或者Teacher
,这两个名字都是可以的。专业的 Python 程序员给变量命名时几乎总是以小写字母开头,其他计算机语言可能会采用不同风格。是否遵循 Python 风格由你来决定。因为我们使用的是 Python,所以这本书后面都会遵循这种风格。
你学到了什么
这一章中,你学到了以下内容。
如何使用变量在计算机内存中“记住”或保存信息。
变量也叫做“名字”或“变量名”。
变量可以是不同类型的东西,如数字和字符串。
测试题
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
(每天小时数)和 MinutesPerHour
(每小时分钟数)为名分别创建变量(或者也可以用自己取的变量名),然后将它们相乘。
5. 人们总是说没有足够的时间做到尽善尽美。如果一天有 26 个小时,那么一周会有多少分钟呢?(提示:改变 HoursPerDay
变量。)