15. 附录

15.1. 交互模式¶15.1.1. 错误处理¶有错误发生时,解释器会打印一个错误信息和栈跟踪器。在交互模式下,它返回主提示符,如果从文件输入执行,它在打印栈跟踪器后以非零状态退出。(异常可以由 try 语句中的 except 子句来控制,这样就不会出现上文中的错误信息) 有一些非常致命的错误会导致非零状态下退出,这通常由内部矛盾和内存溢出造成。所有的错误信息都写入标准错误流;命令中执行的普通输出

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

浮点数在计算机中表达为二进制(binary)小数。例如:十进制小数:0.125是 1/10 + 2/100 + 5/1000 的值,同样二进制小数:0.001是 0/2 + 0/4 + 1/8。这两个数值相同。唯一的实质区别是第一个写为十进制小数记法,第二个是二进制。遗憾的是,大多数十进制小数不能精确的表达二进制小数。这个问题更早的时候首先在十进制中发现。考虑小数形式的 1/3,你可以来个十进制的

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

有些版本的 Python 解释器支持输入行编辑和历史回溯,类似 Korn shell 和 GNU bash shell 的功能。这是通过 GNU Readline 库实现的。它支持 Emacs 风格和 vi 风格的编辑。这个库有它自己的文档,在此不重复了。不过,基本的东西很容易演示。交互式编辑和历史查阅在 Unix 和 Cygwin 版中是可选项。本章 不是 马克哈密尔顿的 PythonWin 包

12. 接下来?

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

11. 标准库浏览 – Part II

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

9. 类

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

8. 错误和异常

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

7. 输入和输出

一个程序可以有几种输出方式:以人类可读的方式打印数据,或者写入一个文件供以后使用。本章将讨论几种可能性。7.1. 格式化输出¶我们有两种大相径庭的输出值方法:表达式语句和 print 语句。(第三种方法是使用文件对象的 write() 方法,标准文件输出可以参考 sys.stdout,详细内容参见库参考手册。)通常,你想要对输出做更多的格式控制,而不是简单的打印使用空格分隔的值。有两种方法可以格式

6. 模块

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