Keywords(关键字)
and
del
from
not
while
as
elif
global
or
with
assert
else
if
pass
yield
break
except
import
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 代码阅读一下。你需要自己找代码,然后从中学习一些东西。你学到的东西已经足够让你看懂一些代码了,但你可能还无法理解这些代码的功能。这节课我要教给你的是:如何运用你学到的东西理解别人的代码。
首先把你想要理解的代码打印到纸上。没错,你需要打印出来,因为和屏幕输出相比,你的眼睛和大脑更习惯于接受纸质打印的内容。一次最多打印几页就可以了。
然后通读你打印出来的代码并做好标记,标记的内容包括以下几个方面:
函数以及函数的功能。
每个变量的初始赋值。
每个在程序的各个部分中多次出现的变量。它们以后可能会给你带来麻烦。
任何不包含 else 的 if 语句。它们是正确的吗?
任何可能没有结束点的 while 循环。
最后一条,代码中任何你看不懂的部分都记下来。
接下来你需要通过注解的方式向自己解释代码的含义。解释各个函数的使用方法,各个变量的用途,以及任何其它方面的内容,只要能帮助你理解代码即可。
最后,在代码中比较难的各个部分,逐行或者逐个函数跟踪变量值。你可以再打印一份出来,在空白处写出你要“追踪”的每个变量的值。
一旦你基本理解了代码的功能,回到电脑面前,在屏幕上重读一次,看看能不能找到新的问题点。然后继续找新的代码,用上述的方法去阅读理解,直到你不再需要纸质打印为止。
加分习题
研究一下什么是“流程图(flow chart)”,并学着画一下。
如果你在读代码的时候找出了错误,试着把它们改对,并把修改内容发给作者。
不使用纸质打印时,你可以使用注解符号 # 在程序中加入笔记。有时这些笔记会对后来的读代码的人有很大的帮助。
常见问题回答
%d 和 %i 有何不同?
没有什么不同,只不过由于历史原因,用 %d 的人更多一些而已。
怎样在网上搜索这些东西?
在你要搜索的东西前面加上“python”就可以了,比如说你要搜索 yield,就输入 python yield。