还可以创建一个等于自己的变量:
>>> 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 的所有变量命名规则,可以查看附录。
你学到了什么
这一章中,你学到了以下内容。
如何使用变量在计算机内存中“记住”或保存信息。
变量也叫做“名字”或“变量名”。
变量可以是不同类型的东西,如数字和字符串。
测试题
如何告诉 Python 变量是字符串(字符)而不是数字?
一旦创建一个变量,能不能改变赋给这个变量的值?
变量名 TEACHER 与 TEACHEr 相同吗?
对 Python 来说,'Blah' 与 "Blah" 一样吗?
对 Python 来说,'4' 是不是等同于 4 ?
下面哪个变量名不正确?为什么?
(a) Teacher2
(b) 2Teacher
(c) teacher_25
(d) TeaCher
"10" 是数字还是字符串?
动手试一试
创建一个变量,并给它赋一个数值(任何数值都行)。然后使用 print 显示这个变量。
改变这个变量,可以用一个新值替换原来的值,或者将原来的值增加某个量。使用 print 显示这个新值。
创建另一个变量,并赋给它一个字符串(某个文本)。然后使用 print 显示这个变量。
像上一章一样,在交互模式中让 Python 计算一周有多少分钟。不过,这一次要使用变量。以 DaysPerWeek(每周天数)、HoursPerDay(每天小时数)和 MinutesPerHour(每小时分钟数)为名分别创建变量(或者也可以用自己取的变量名),然后将它们相乘。
人们总是说没有足够的时间做到尽善尽美。如果一天有 26 个小时,那么一周会有多少分钟呢?(提示:改变 HoursPerDay 变量。)