习题 37: 复习各种符号 ************************** 现在该复习你学过的符号和 python 关键字了,而且你在本节还会学到一些新的\ 东西。我在这里所作的是将所有的 Python 符号和关键字列出来,这些都是值得\ 掌握的重点。 在这节课中,你需要复习每一个关键字,从记忆中想起它的作用并且写下来,\ 接着上网搜索它真正的功能。有些内容可能是无法搜索的,所以这对你可能有些\ 难度,不过你还是需要坚持尝试。 如果你发现记忆中的内容有误,就在索引卡片上写下正确的定义,试着将自己的\ 记忆纠正过来。如果你就是不知道它的定义,就把它也直接写下来,以后再做研究。 最后,将每一种符号和关键字用在程序里,你可以用一个小程序来做,也可以尽量\ 多谢一些程序来巩固记忆。这里的关键点是明白各个符号的作用,确认自己没搞错,\ 如果搞错了就纠正过来,然后将其用在程序里,并且通过这样的方式巩固自己的\ 记忆。 Keywords(关键字) =================== * ``and`` * ``del`` * ``from`` * ``not`` * ``while`` * ``as`` * ``elif`` * ``global`` * ``or`` * ``with`` * ``assert`` * ``else`` * ``if`` * ``pass`` * ``yield`` * ``break`` * ``except`` * ``import`` * ``print`` * ``class`` * ``exec`` * ``in`` * ``raise`` * ``continue`` * ``finally`` * ``is`` * ``return`` * ``def`` * ``for`` * ``lambda`` * ``try`` 数据类型 ========== 针对每一种数据类型,都举出一些例子来,例如针对 string,你可以举出一些字符串,\ 针对 number,你可以举出一些数字。 * ``True`` * ``False`` * ``None`` * ``strings`` * ``numbers`` * ``floats`` * ``lists`` 字符串转义序列(Escape Sequences) ================================== 对于字符串转义序列,你需要再字符串中应用它们,确认自己清楚地知道它们的功能。 * ``\\`` * ``\'`` * ``\"`` * ``\a`` * ``\b`` * ``\f`` * ``\n`` * ``\r`` * ``\t`` * ``\v`` 字符串格式化(String Formats) ============================= 一样的,在字符串中使用它们,确认它们的功能。 * ``%d`` * ``%i`` * ``%o`` * ``%u`` * ``%x`` * ``%X`` * ``%e`` * ``%E`` * ``%f`` * ``%F`` * ``%g`` * ``%G`` * ``%c`` * ``%r`` * ``%s`` * ``%%`` 操作符号 ========= 有些操作符号你可能还不熟悉,不过还是一一看过去,研究一下它们的功能,如果你研究不出来\ 也没关系,记录下来日后解决。 * ``+`` * ``-`` * ``*`` * ``**`` * ``/`` * ``//`` * ``%`` * ``<`` * ``>`` * ``<=`` * ``>=`` * ``==`` * ``!=`` * ``<>`` * ``( )`` * ``[ ]`` * ``{ }`` * ``@`` * ``,`` * ``:`` * ``.`` * ``=`` * ``;`` * ``+=`` * ``-=`` * ``*=`` * ``/=`` * ``//=`` * ``%=`` * ``**=`` 花一个星期学习这些东西,如果你能提前完成就更好了。我们的目的是覆盖到所有的符号 类型,确认你已经牢牢记住它们。另外很重要的一点是这样你可以找出自己还不知道哪些 东西,为自己日后学习找到一些方向。 阅读代码 ========= 现在去找一些 Python 代码阅读一下。你需要自己找代码,然后从中学习一些东西。\ 你学到的东西已经足够让你看懂一些代码了,但你可能还无法理解这些代码的功能。\ 这节课我要教给你的是:如何运用你学到的东西理解别人的代码。 首先把你想要理解的代码打印到纸上。没错,你需要打印出来,因为和屏幕输出相比,\ 你的眼睛和大脑更习惯于接受纸质打印的内容。一次最多打印几页就可以了。 然后通读你打印出来的代码并做好标记,标记的内容包括以下几个方面: 1. 函数以及函数的功能。 2. 每个变量的初始赋值。 3. 每个在程序的各个部分中多次出现的变量。它们以后可能会给你带来麻烦。 4. 任何不包含 else 的 ``if`` 语句。它们是正确的吗? 5. 任何可能没有结束点的 ``while`` 循环。 6. 最后一条,代码中任何你看不懂的部分都记下来。 接下来你需要通过注解的方式向自己解释代码的含义。解释各个函数的使用方法,\ 各个变量的用途,以及任何其它方面的内容,只要能帮助你理解代码即可。 最后,在代码中比较难的各个部分,逐行或者逐个函数跟踪变量值。你可以再打印\ 一份出来,在空白处写出你要“追踪”的每个变量的值。 一旦你基本理解了代码的功能,回到电脑面前,在屏幕上重读一次,看看能不能找到\ 新的问题点。然后继续找新的代码,用上述的方法去阅读理解,直到你不再需要纸质\ 打印为止。 加分习题 ============ 1. 研究一下什么是“流程图(flow chart)”,并学着画一下。 2. 如果你在读代码的时候找出了错误,试着把它们改对,并把修改内容发给作者。 3. 不使用纸质打印时,你可以使用注解符号 ``#`` 在程序中加入笔记。有时这些笔记\ 会对后来的读代码的人有很大的帮助。 常见问题回答 ========================== ``%d`` 和 ``%i`` 有何不同? 没有什么不同,只不过由于历史原因,用 ``%d`` 的人更多一些而已。 怎样在网上搜索这些东西? 在你要搜索的东西前面加上“python”就可以了,比如说你要搜索 ``yield``\,就输入 ``python yield``\。