Python 阅读书目推荐 =================== 原文地址: http://www.informit.com/articles/article.aspx?p=1849069 译者: `Zeray Rice `_ & `Yueh `_ **Wesley J. Chun, 《Python 核心编程》的作者 (** `Informit `_ | `豆瓣 `_ **),为大家推荐了一系列的他觉得很不错的 Pyhton 书目,不管你是初学者还是 Python 开发大牛,都应该来看一下他推荐的书。** 在我十五年的 Python 生涯中,有无数人问过我类似“你能向我推荐一些 Python 相关的好书么?”这样的问题,不过作为一个写书的人,当然会说“这还用问,当然是我的书啊!”。 关键问题是,实际上这个问题是没有真正的 **正确** 答案的,一本好书,是要根据读者的学习方法与水平来判断的,也就是说,对于不同的人,“好书”的标准也是不同的。更深一层说,我的主要目标是为了社区能够更好地发展。如果我的书能够对一些人有帮助,我会很高兴,但是如果对你没有很大的帮助,我很乐意给你推荐一本更适合你的书。 在我们开始之前,我还要说说另外一个经常被问到的问题,“选择 Python 2 还是 Python 3?”。尽管 Python 3 已经发布三年多了,并且已经有许多库都对它提供了支持,而且今年夏天就要发布 Python 3.3 了,但是世界上的大多数 Python 程序依然选择 Python 2,我建议你,如果你不需要转换软件到 Python 3 或者刚刚准备学习 Python ,你应该选择 3.x,不过如果你有 2.x 的代码的话,你还是继续用 2.x 吧,因为他们只有表面上的不同而已(虽然不是向后兼容的)。只学习一个你就能轻松的在两个版本之间转换了。现在我们来读一下这篇文章吧。 在这篇文章里,我将会给三个不同阶段的人提供三个不同的阅读列表,第一个列表是给有其他语言的编程经验的人的: 给有其他编程经验的人 ------------------------------ 《深入Python 3》 ^^^^^^^^^^^^^^^^^^ 作者:Mark Pilgrim 出版社:Apress 出版年:2004,2009 ( `Apress 商店 `_ | `豆瓣 `_ ) 《深入 Python》是 Python 中最流行的书之一,第一版在 2004 年出版,2009 年为 Python 3 出了第二版。对于程序员来说,如果你想通过代码来学习 Python ,那么这本书是最好的选择,更因为作者就是我的同事!不过如果你想在开始写程序之前多了解一些其他的,你还有其他的选择。 《Python 核心编程》 ^^^^^^^^^^^^^^^^^^^^^ 作者:Wesley Chun 出版社:Prentice Hall 出版年:2006 ( `informIT `_ | `豆瓣 `_ ) 《Python 核心编程》差不多是一本和《深入 Python》站在一个完全相反的角度的书。比起“快速深入”,我更觉得这本书是对 Python 语言的深度剖析,这本书的主要目标是尽可能快的教会你使用 Python ,同时又达到尽可能的全面。这本书中包含了大量的代码样例,这样你可以在阅读中边试边学,所以在读这本书之前你并不需要太多的准备,更好的是,在每章的结束部分都会有练习去助你理解所学习的内容。此外,还有一些很有用的表格作为参考资料提供给读者。2009 年的时候,为了让这本书能够不落伍,我在里面添加了一些关于 Python 2.6 (当然也有部分关于 2.7 的)以及 3.x 的内容,新内容你会在第五版或新的印刷版中看到,以及,所有读者都可以在 corepython.com 下载到这部分新加的内容和勘误表。 《Python 快速入门(第二版)》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:Vern Ceder 出版社:Manning 出版年:2010 ( `Safari Book Online `_ | `豆瓣 `_ ) 《Python 快速入门》是一本和《深入 Python》很像的书,但是在某些细节上的东西要比《深入 Python》强,就像是《深入 Python》这本书的弟弟一样,就在一两年前刚刚更新了 Python 3 的内容。 《Python 基础教程(第二版)》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ( `Apress `_ | `豆瓣 `_ ) 作者:Magnus Lie Hetland 出版社:Apress 出版年:2008 《Python 基础教程》这本书在细节问题上依然要比同是 Apress 出版的《深入 Python》强,这本书的可读性很强,然而,像《Python 快速入门》一样,他并没有像《Python 核心编程》那样的深入,它就像一杯泡的恰好的茶一样。这本书同时也提供一个配套学习的网站。 《Python核心编程(第二版)》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:Zed Shaw 出版年:2011 ( `官方网站 `_ | `豆瓣 `_ ) 这本自发行的数有一个独特的观点,作者带领你如何去正确的写程序,然后解释为什么应该那样做。不过如果你已经有过相关的编程经验,那么通过这本书学习 Python 编程会比较快,那些没有编程经验的人也可以来读读这本书,虽然这本书可能对这部分读者“不太友好”。 给孩子以及刚刚接触编程的人 ------------------------------------------ 我们下面要介绍的这一份清单重点将放在那些没有编程经验的人身上(包括孩子们),正如标题所说的那样。 下面这四本书经常被用来教小朋友编程,因为他们更喜欢用 Python 来写游戏,难道还会有比这个更好玩的事情么? 《与孩子一起学编程》 ^^^^^^^^^^^^^^^^^^^^^^^^^^ ( `Safari Book Online `_ | `豆瓣 `_ ) 作者:Warren Sande and Carter Sande 出版社:Manning 出版年:2009 这本畅销的儿童书是由一位工程师和他的儿子共同完成的,所以有很多儿童视角的提示框,有爱的提示框和儿童视角使得这本书很适合全家一起看~ 《用 Python 编写你自己的电脑游戏(第二版)》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:Al Sweigart 出版年:2010 ( `官方网站 `_ | `豆瓣 `_ ) 《用 Python 编写你自己的电脑游戏(第二版)》是又一本很适合初学者的书,通过制作游戏来学习编程,这本书从读者没有任何经验的角度出发,详细介绍了关于编程与编写游戏中的各种概念。 《Python 程序设计:如何像计算机科学家一样思考》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:Allen B. Downey, Jeff Elkner and Chris Meyers 出版社:Green Tea Press 出版年:2002 ( `Lulu `_ | `豆瓣 `_ ) 这是一系列书中的一本,最初只有 C++ 版本的,后来又出现了 JAVA 版,然后就有了 Python 版。这一系列书适合年龄稍大些的孩子阅读,比如高中生或者非科学/工程系的大学生们阅读。你不仅能从这本书中学习到如何写程序,同时也能学习到一些关于计算机科学的概念。 《Python Programming for the Absolute Beginner》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 注:因为本书没有对应的中文译名,所以未翻译书名。 作者:Michael Dawson 出版社:Course Technology 出版年:2010 ( `Safari Book Online `_ | `豆瓣 `_ ) 在这份列表中的最后一本书是一本刚刚面世的新书。这本书通过编写游戏来教授编程的方法,这本书现在很受欢迎,因为这本书的思路非常独特,现在这本书的最新修订版已经加入了关于 Python 3 的相关内容。 参考书 --------- 在最后一个列表中我将会介绍一些 Python 参考书,这些书基本只需要在你的书架躺着,当有需要的时候去查阅就行了,然后再放回去。 《Python 参考手册(第四版)》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:David Beazley 出版社:Addison-Wesley 出版年:2009 ( `informIT `_ | `豆瓣 `_ ) 这个列表中的第一本书就是经典的“PER”(Python Essential Reference),这本书是第一本 Python 参考书(至少在他第一版出版的时候是),回想 Python 版本还是 1.5 的时候,当时 Python 程序员只有标准库手册能够参考,打印出来几乎有一英寸后(还是双面打印),开发者们迫切希望能够有一本带回家的参考书。《Python 参考手册》的出现极大的缓解了这样的需求,因为这是一本轻便的,可移动的 Python 参考书。这本书的维护者是一名爵士乐音乐家和疯狂的(计算机)科学家,David Beazley. 《Python 技术手册(第二版)》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:Alex Martelli 出版社:O'Reilly 出版年:2006 ( `Safari Book Online `_ | `豆瓣 `_ ) 数年后,第二本参考书出版了,这本书是作为 O’Reilly 的技术手册系列出版的,作者是大牛 Alex Martelli,同时他也是我的同事。这本书以及 PER 均是由 Python 界的知名人物编写的,并且这两本书都很像,我建议你先去翻翻这两本书然后选一本风格你更喜欢的。 《Python Cookbook(第二版)》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:Alex Martelli, Anna Ravenscroft, David Ascher 出版社:O'Reilly 出版年:2005 ( `Safari Book Online `_ | `豆瓣 `_ ) 最后两本书并不是像前两本那样很有参考书的样子,但他们依然是一本很不错的参考书,因为他们包含了很多不仅仅是参考书的内容。这本书主要由 Python Cookbook 网站构成,里面有很多去解决某样问题的 Python 代码,你可以在这里找到所有的内容: http://code.activestate.com/recipes/langs/python ,但是书中选取的都是精华片段,还包括很多编者们的评语,最近这本书将要推出新版。 《Python 标准库实例》 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 作者:Doug Hellmann 出版社:Addison-Wesley 出版年:2011 ( `informIT `_ | `豆瓣 `_ ) 如果你希望有一本拥有很多代码样例的参考书,那么这本书就是你想要的,这本书不仅仅包含了所有的标准库的样例,还包含了许多现在开发中经常用到的库的使用样例,这本书基于作者维护的一个网站构成: PyMotW(Python Module of the Week)。 下一步 ------------ 当你学习完Python之后你需要做些什么呢?也许你已经读完了我推荐给你的书,又或者你已经对 Python 有了深入的学习,开始并且能写出一些基本的工具或者应用。然而,如果你想做的更好,你就必须更加深入的学习关于其他的特定主题的书籍,比如游戏编程,数据库,图形与多媒体,图形用户界面,科学的编程,网络,等等。 一定会有一些关于更高级主题(比如我们上面讨论的主题或者其他的)的教程,不要误会我的意思。如果你想要学习一些我们上面提到的技术,你必须购买一本涵盖你所感兴趣的主题的书。但是如果你只是希望提高你的基本功,你就不必这样做了。如果你是这种情况,那么你需要这本书: 《Python核心应用编程》 ^^^^^^^^^^^^^^^^^^^^^^ 作者:Wesley Chun 出版社:Prentice Hall 出版年:2012 ( `informIT `_ | `豆瓣 `_ ) 如果你已经读过 Python 核心编程,你会发现这一本书的一部分内容已经在 Python 核心编程里出现,因为这本书就是由 Python 核心编程的第二部分改编而来的。在 Python 核心编程这本书里,我认为我已经完成了足够出色的能够教会读者使用 Python 的编著工作,但是没有足够细致的去介绍如何去开发。所以,这本 Python 核心应用编程更像是 Python 核心编程的一个延展材料。下面我开始对这本涵盖中高级水平内容的书进行介绍: 我很高兴的向大家介绍,一些原书的章节已经被我提取并重新整理,同时添加了 Python 3 与 2.x 系列的范例让读者可以同时学习 2.x 与 3.x 。在剩余的章节里,我添加了大量新的材料以便你学习哪怕你对于使用 Django 一窍不通,另外,还有对GAE,CSV,JSON和XML文本处理的介绍;目的是提供全面的介绍这些领域的应用开发,就像这本书的书名一样。我希望你能像我一样为这本书兴奋。 总结 ===== 现在,你已经知道了解决不同问题可能需要用到的书,我们希望你能够通过这篇文章找到你所需要的。虽然我希望我的书能最符合你的要求,但我更高兴你能找到合适你的那一本书,并且通过 Python 开发很棒的应用。如果你是一个 Python 新手,欢迎你加入 Python 大家庭!