书评:《Python标准库》
当我提出要评测《Python标准库》时,我以为会看到一个枯燥的库函数列表,以及对其参数的乏味描述。然而,当我开始阅读这本书时,我惊喜地发现并非如此。作者声称花费了数百小时在comp.lang.python Usenet新闻组上回答问题。这体现在了书中。
这本书并没有像我预期的那样成为一本枯燥的手册,而是充满了有用的例子。它很全面,除了没有涵盖Tkinter。考虑到大多数Python用户不会使用Tkinter,而且文档化需要很大的空间,这似乎是一个合理的决定。事实上,Fredrik正在编写一本关于Tkinter的单独书籍。
《Python标准库》分为14章,每章涵盖一组相关的模块。由于本书内容全面,因此没有必要在此一一列举其内容,但其划分方式非常合理。例如,有关于线程和进程的章节,以及邮件和新闻消息处理的章节。其中两章“平台特定模块”和“实现支持模块”涵盖了非通用模块。
为了让您对这本书有一个了解,我将详细描述两个特定的章节。
第一节是“字符串模块”,来自“核心模块”一章。这一节略少于两页,其中大部分是代码。经过一句简短的描述后,您将看到一个示例。该示例包括文件名(以便您可以在CD上找到它)、大约十行代码以及执行代码的结果。代码主要是print语句,其中一个文本字符串传递给字符串的各种函数,例如string.upper、string.lower、string.split、string.count。
接下来是对Python 1.5.2和更高版本之间差异的简要描述。由于主要区别在于Python的更高版本中提供了字符串方法,因此包含了一个新示例,该示例显示了使用字符串方法而不是字符串模块函数编写的相同代码。
第三个描述和示例解释了字符串模块的其他功能,用于将其他数据类型转换为字符串。最后的段落描述了如何使用int和float函数作为字符串模块对应功能的替代方法。
作为第二个例子,我选择了“cgi模块”,来自“网络协议”一章。此描述大约 1.5 页长,包括两个简短的文本段落,后跟一个列表。该列表是一个 CGI 脚本,它返回指定目录中的文件列表。它使用 os.environ.get 来获取 QUERY_STRING,使用 os.listdir 来获取文件名,并使用 cgi.escape 来清理字符串。
虽然该示例编写清晰并且可以完成它应该做的事情,但我有点失望的是它没有深入探讨 cgi 模块的所有功能。例如,它提到该模块可以解析 CGI 表单数据,但没有关于如何执行此操作的描述或示例。
CD 是一个有逻辑的补充,它包含书中找到的所有脚本。此外,它还包含 Windows 和 x86 Linux (RPM 格式) 的预构建 Python 2.0 发行版,以及适用于这两个平台的 PythonWorks Pro 1.2 的演示副本。
PythonWorks 是一个 Python 集成开发环境 (IDE)。 包含的软件以演示模式运行,限制了您可以使用包含的项目执行的操作。但是,您可以从 Pythonware 网站获得免费的、有时限的评估票,以便您可以了解它在您的项目上的运行方式。
总的来说,这本书充满了实用的信息。文本似乎是准确的——我发现的唯一的错误是语法上的,而且无关紧要。它没有回答读者可能提出的每一个问题,但就其大小和可读性而言,它做得很好。不像我见过的其他编程语言的一些书籍——读者被提供大量的代码,但弄清楚它做什么以及它与什么相关留给他们——我发现本书中的所有示例都与所解决的主题相关。
只要您不期望在一本书中找到所有内容,我相信您会感到满意。但是,如果您必须将所有信息都放在一本书中,那么《Python开发者手册》(在 2001 年 2 月的 Linux Journal 中进行了评测)可能是更好的选择。
Phil Hughes 是 Linux Journal 的出版商。
电子邮件:ljeditors@ssc.com