开始之前
自从九个月前,我的 最近书籍摘要发表以来,又有一些新的 Python 书籍出版了,还有一些我先前没有机会评论的其它书籍送到我的书桌上。我没有机会评论所有希望评论的书,但是在这两个部分中所讨论的每一本书,您都可以考虑购买。
在过去的一年中,更多的书籍将加入 Python 的书架。肯定会有一些书名我没有听说过;但是这里有一些似乎很不错的书。Python 坚定而有才华的 Usenet 评论家 Alex Martelli 已经明确约定为 O'Reilly 编写两本单独的书籍 ― 一本标题为 Python in a Nutshell (看到 Martelli 洋洋洒洒的写作风格“压缩”成紧凑的内容应该很有趣)。Bruce Eckel(他的 Thinking in Java 得到了非常广泛的接受)有一个暂未实现的计划,他打算写 Thinking in Python ,时间可能是 2002 年。Christopher Jones 和 Fred Drake 正在为 O'Reilly 编写另一本标题为 Python & XML 的书,这本书看起来有希望。还得提一下,本人正在为 Addison-Wesley 写 Text Processing in Python 。2002 年对于 Python 似乎又是一个好年。
有少许最近出版的 Python 书籍我还没有机会看。我没有轻视这些书籍的意思,但是我不能向您作任何推荐。它们是:
Core Python Programming ,Wesley J. Chun,Prentice Hall(2000 年 12 月)
Sams Teach Yourself Python in 24 Hours ,Ivan Van Laningham,Sams(2000 年 5 月)
Python: Developer's Handbook ,Andre dos Santos Lessa, Sams (2000 年 12 月)
总之如果我遗漏了任何书籍,我向它们的作者和出版商道歉。让我知道;我将在以后评论它们。
尽管书籍是大多数主题(包括 Python)入门的一个极好方法,Python 本身也带有一些非常好的文档。研究一下 Python.org(请参阅本文后面的 参考资料)上的 Python 文档以开始您的学习。Python 团队编写了一本优秀的介绍教程,模块索引、库引用和语言引用的质量优于大多数编程语言,或者大体免费的软件所具有的质量。(当我查找某些东西时,“库引用”和“语言引用”之间的区别对我而言总是模糊的;如有疑惑,就尝试两者。)
接触一些旧出发点
六个月以前,我确定留在手边用于编程的 Python 书籍是 David Beazley 的 Python Essential Reference。请您注意,剩下的书籍都在我椅子几步之内,而不必为 Beazley 的书留出位置。最近几个月情况有一点变化 ― 现在我放在手边的书是 Python Essential Reference 的 第 2 版。两个版本之间的主要区别只是从讲述 Python 1.5.2 变成了讲述 Python 2.1。组织和大多数内容仍然保持相同。显然是出于对某些用户抱怨的反应,字体大小稍微放大了些(并且厚度从 318 页增加到 396 页);不幸的是,第 2 版印刷在光泽黯淡得多的纸上 ― 可读性(纯粹从物理角度讲)略有下降。
另一本在前一篇文章提到但是没有评论过的书籍是 Fredrik Lundh 的 Python Standard Library 。那时,只有一个受限电子版可用,但是从那以后,O'Reilly 出版了印刷版。 Python Standard Library 很薄 ― 这本书厚 281 页,但是源代码和垂直空白所占据的行数超过文字描述。所有文字合计起来数目也不大。
Python Standard Library 针对的目标(读者)范围很窄且切中要点。其目标是有经验的 Python 程序员,而他手头也有标准模块文档和/或一本更厚的书。本书几乎涵盖了所有 Python 2.0 的标准库模块,但这种涵盖的目的不是记录每个模块中的每个常数、函数和类。而是对每个模块都有极其清晰明了的文字描述,后跟精选的 典型用法示例。
我所看过的许多其他书籍也使用大量源代码示例;但是其中许多,您必须反复阅读并且沉思一会儿才能准确地领会一个示例是用来说明什么的、哪一部分说明了正在论述的主题以及它为什么是一个说明。相反, Python Standard Library 中的源代码示例只是在必要的时候使用、是清晰的、有充足的内部文档并切中说明要点。同样,文字介绍准确地提供了一种清晰的介绍 ― 您可能会向隔壁(如果您足够幸运有这么一个同事的话)的经验丰富得多的程序员寻求的这种介绍。但是,这种描述的目的不是教会您基本概念 ― 它们假设您基本知道要做什么,并只是需要改进如何做。
热身
Learn to Program Using Python: A Tutorial for Hobbyists, Self-Starters, and Those Who Want to Learn the Art of Programming 也许 不是一本针对本专栏大多数读者的书。正如标题所承诺的,Alan Gauld 的书是为希望成为程序员或至少是想了解程序员做什么的非程序员编写的。对这些读者,Gauld 写出了一本令人愉快的书。我新招聘以评论该书的一个非程序员证实了最初几章对初学者而言进度是合适的。
Gauld 所涉及的主题范围很合理,并保持良好的教学顺序。读者应该依次阅读本书的各个部分。本书 有很好的索引,但这类书籍不适宜跳跃性地阅读。源代码示例很棒,它们渐进地表示新概念而又保持了清晰和切中要点。虽然许多书籍对侧栏和文本框的使用相当频繁和令人分心,但是 Gauld 通过在每章末尾使用“Things to Ponder”和“Points to Remember”,取得了良好的平衡。总之,这象是一本相当简单 有趣的书,值得一读。