16. 附录

16.1. 交互模式¶16.1.1. 错误处理¶当错误发生时,解释器打印一个错误信息和堆栈跟踪。在交互模式下,它返回主提示符;当输入来自文件的时候,在打印堆栈跟踪后以非零退出(a nonzero exit)状态退出。(在 try 声明中被 except 子句捕捉到的异常在这种情况下不是错误。)有些错误是非常致命的会导致一个非零状态的退出;这也适用于内部错误以及某些情况的内存耗尽。所有的错误信息都写

15. 浮点数算法:争议和限制

浮点数在计算机中表达为二进制(binary)小数。例如:十进制小数:0.125是 1/10 + 2/100 + 5/1000 的值,同样二进制小数:0.001是 0/2 + 0/4 + 1/8。这两个数值相同。唯一的实质区别是第一个写为十进制小数记法,第二个是二进制。不幸的是,大多数十进制小数不能完全用二进制小数表示。结果是,一般情况下,你输入的十进制浮点数仅由实际存储在计算机中的近似的二进制浮点

14. 交互式输入行编辑历史回溯

某些版本的 Python 解释器支持编辑当前的输入行和历史记录,类似于在 Korn shell 和 GNU Bash shell 中看到的功能。这是使用 GNU Readline 库实现的,它支持各种编辑风格。 这个库有它自己的文档,在这里我们不就重复了。14.1. Tab 补全和历史记录¶变量和模块名的补全在解释器启动时 自动打开 以便 Tab 键调用补全功能;它会查看Python语句的名字,当

12. 虚拟环境和包

12.1. 简介¶Python 应用程序经常会使用一些不属于标准库的包和模块。应用程序有时候需要某个特定版本的库,因为它需要一个特定的 bug 已得到修复的库或者它是使用了一个过时版本的库的接口编写的。这就意味着可能无法安装一个 Python 来满足每个应用程序的要求。如果应用程序 A 需要一个特定模块的 1.0 版本但是应用程序 B 需要该模块的 2.0 版本,这两个应用程序的要求是冲突的,安装

13. 接下来?

读过这本指南应该会让你有兴趣使用 Python —— 可能你已经期待着用 Python 解决你的实际问题了。可以在哪里进行一步学习?入门指南是 Python 文档集的一部分。其中的另一些文档包括:Python 标准库:应该浏览一下这份文档,它为标准库中的类型、函数和模块提供了完整(尽管很简略)的参考资料。标准的 Python 发布版包括了 大量 的附加模块。其中有针对读取 Unix 邮箱、接收 H

11. 标准库浏览 – Part II

第二部分包含了支持专业编程工作所需的更高级的模块,这些模块很少出现在小脚本中。11.1. 输出格式¶reprlib 模块为大型的或深度嵌套的容器缩写显示提供了 :repr() 函数的一个定制版本:>>> import reprlib>>> reprlib.repr(set(‘supercalifragilisticexpialidocious’))”set([‘

9. 类

Python 的类机制通过最小的新语法和语义在语言中实现了类。它是 C++ 或者 Modula-3 语言中类机制的混合。就像模块一样,Python 的类并没有在用户和定义之间设立绝对的屏障,而是依赖于用户不去“强行闯入定义”的优雅。另一方面,类的大多数重要特性都被完整的保留下来:类继承机制允许多重继承,派生类可以覆盖(override)基类中的任何方法或类,可以使用相同的方法名称调用基类的方法。对

8. 错误和异常

至今为止还没有进一步的谈论过错误信息,不过在你已经试验过的那些例子中,可能已经遇到过一些。Python 中(至少)有两种错误:语法错误和异常( syntax errors 和 exceptions )。8.1. 语法错误¶语法错误,也被称作解析错误,也许是你学习 Python 过程中最常见抱怨:>>> while True print(‘Hello world’) File “

6. 模块

如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失。因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作为输入执行。这就是传说中的 脚本。随着你的程序变得越来越长,你可能想要将它分割成几个更易于维护的文件。你也可能想在不同的程序中使用顺手的函数,而不是把代码在它们之间中拷来拷去。为了满足这些需要,Python 提供了一个方法