交互的提示符——为什么要使用交互式提示符?——实验

未匹配的标注

因为代码是被立即执行的,交互式提示符是对语言进行实验的完美场所且将在本书中经常用来展示更小的例子。事实上,要记住的第一经验法则:如果在任何时候对一段Python代码如何工作有怀疑,启动交互式命令行并动手试试看看会发生什么。

比如,假如在阅读一段Python程序的代码且恰好碰到了像 'Spam!' * 8 这样的不懂其含义的表达式。此时,可以花10分钟费力的查阅手册,书籍和网络来努力弄清楚这个代码是做什么的,或者可以简单的交互式地运行:

% python
>>> 'Spam!' * 8 # Learning by trying
'Spam!Spam!Spam!Spam!Spam!Spam!Spam!Spam!'

在交互式提示符收到的立即返回通常是推测一段代码作用的最快方式。在这里,很明显它是字符串重复:在Python中,* 对数字意味着乘,但对字符串却是重复——它像将一个字符串重复地连接到自身一样(参见第4章中更多关于字符串的知识)

通过这种方式实验,你基本上造成任何破坏——至少,现在还不会。要进行真正的破坏,如删除文件和运行shell命令,必须真正的努力尝试,明确地通过导入模块(要变得这么危险,通常还需要知道关于Python的系统接口的更多知识)。纯Python代码几乎总是能安全的运行。

比如,在交互式提示符犯一个错误时,仔细看发生了什么:

>>> X # Making mistakes
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'X' is not defined

在Python中,在变量被赋值前使用它总是一个错误——否则,如果变量名被默认值填充,一些错误可能就会无法察觉。这意外着在可以往计数器添加(数字)前,必须先初始化它为0,在扩展列表前必须先初始化它等等;不需要声明变量,但必须先对他们进行赋值,才可以获取他们的值。

关于这个后面还会学;这里重要的一点是,当以这种方式犯错时,不会让Python或电脑崩溃。相反,会得到一个有意义的错误信息,指出错误和造成错误的代码行数,且可以继续会话或脚本。事实上,一旦适应了Python,它的错误信息通常可以提供需要的尽可能多的调试支持(可以在侧边栏调试Python代码中学到更多关于调试选项的知识)

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~