练习 25 更更多练习

    不过,这个练习有一些不同,你不是运行它,而是要把它导入 Python 然后自己运行这个函数。

    ex25.py

    首先,用 来运行这个脚本,找出你出错的地方,并把它们改正过来。然后对照“你会看到”部分看看运行结果是否一样。

    在这个练习中我们要在 python3.6 翻译器(interpreter)里与 ex25.py 文件交互,之前我们在做计算的时候也交互过。你在终端里这样运行 python3.6(Windows 下直接输入 python):

    练习 25 会话

    以下是交互模式下输入的结果: 练习 25 Python 会话

    当你过完每一行,保证你能找到在 ex25.py 中运行的函数,并且理解了每个函数是如何运行的。如果你得到了不同的结果或者出现错误,你得把代码改正过来,然后退出 python3.6 ,重新进入。

    • 试试输入 help(ex25) 以及 help(ex25.break_words)要在交互练习后输入,否则无法成功运行)。注意你是如何获取到关于这个模块的帮助的,以及帮助是如何放在 ex25 的每一个函数后面的 """ 字符串里的。 这些特殊的字符串被称为文件注释,我们会在后面看到更多。
    • 试着拆解你的文件,看看当你用它的时候,它在 Python 里是什么样的。你得先输入 quit() 来退出 python,再重新加载它。

    有些函数我什么都没打印出来。你可能有些函数忘了在后面输入 return。检查一遍你的代码,确保每一行都是对的。

    当我输入 import ex25.py 时收到了这样的错误:ImportError: No module named ex25 不要在后面加 .py ,Python 知道文件是以 结尾的,所以你只用输入 ex25 即可。

    我运行的时候遇到了这个错误:SyntaxError: invalid syntax这意味着你漏掉了某些东西,比如少了一个 " 或者类似一对的符号。任何时候你只要收到这样的报错信息,你就从它提到的错的那行开始检查,看是不是所有字符都输入正确了,然后再回过头检查这一行上面的行是不是都输入正确了。

    words.pop 函数是如何改变 words 变量的?这是个很复杂的问题,但是在本例中 words 是一个列表,正因为如此你可以给它一些命令。这就类似于当你操作文件和很多其他东西时候它们是如何运行的一样。

    在函数里我什么时候应该用 print 而不是 return 呢?通过函数,return 能够给调用这个函数的那行代码返回一个结果,你可以把函数当成通过参数获取输入通过 返回输出。print 跟这个就完全不相关了,它只是把输出结果打印到终端。