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

《父与子的编程之旅:与小卡特一起学Python》2.6 全新的我

关灯直达底部

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

>>> Score = 7>>> Score = Score  

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

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

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

  • 开始时 Score = 7。

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

  • 把名字 Score 赋给这个新东西。

这样一来,Score 就从 7 变成了 8。

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

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

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

    t = /'Mr. Morton/'  

    x1796vc47blahblah = /'Mr. Morton/'  

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

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

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

像程序员一样思考

我们曾经说过,你可以为变量取任何名字(不过前提是要满足命名规则),这一点不假。你可以把变量叫做 teacher 或者 Teacher,这两个名字都是可以的。

专业的 Python 程序员给变量命名时几乎总是以小写字母开头,其他计算机语言可能会采用不同风格。是否遵循 Python 风格由你来决定。因为我们使用的是 Python,所以这本书后面都会遵循这种风格。

你学到了什么

这一章中,你学到了以下内容。

  • 如何使用变量在计算机内存中“记住”或保存信息。

  • 变量也叫做“名字”或“变量名”。

  • 变量可以是不同类型的东西,如数字和字符串。

测试题

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

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

3. 变量名 TEACHERTEACHEr 相同吗?

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 变量。)