从2011年5月买了第一本《Python学习手册(第四版)》开始,我阅读过大量和Python有关的纸质书和开源图书。为什么要买书来看?我认为不外乎两个原因:有趣和能学到东西。技术书肯定不会太有趣,那么最重要的就是能学到东西。市面上Python相关的书相当多,但是有些内容陈旧或者不符合国情,经常能看到并非开发第一线的人写或者翻译的书,这些书显然价值就要低一些;其次是同质化和向入门级别靠拢,市面上关于Python入门或者教授语法知识的书不少,而再深入一点的就很匮乏了。还有一点,现在为了提高书的销量,书名都起的非常有破坏力,很吸引眼球,可是内容完全不够书名的档次。

不知道一些回答推荐书籍问题的人是怎么想的,反正话说起来很廉价,又不用负责。但是会给看这些答案的人误解,甚至要白白浪费大家的钱和阅读时间,我非常乐于给「没有帮助」。

知乎上已经有一些问题,也有很多人推荐。我没有达到流畅的阅读英文原版的能力,所以本文更接地气一点,介绍的是中文书籍。本文将从如下三部分推荐技术书籍。

Python初学者

初学Python首先的是要熟悉Python语法和语言的关键内容,推荐如下三本书:

1.《Python学习手册》。应该是对Python介绍最全面的书了,包含了绝大多数Python语言的关键内容。

2. 《Python核心编程(第二版)》。 需要注意,《Python核心编程(第二版)》是经典的Python指导书,出版于2008年,有很多内容已经不再适用现在的环境,所以以了解概念和原理为主。现在已经出版了一本《Python核心编程 第3版》,这是《Python核心编程 第一版》卷二的第三版。所以不要以为这是再版的《Python核心编程(第二版)》, 具体的内容可以查看「正在预售的《Python核心编程》到底是不是第三版?」。

3. 《Python语言及其应用》。感谢@PiGu提醒,也可以作为新手入门的书籍。

PS: 《Python基础教程》。 有知友私信我,提到这本书,我之前看过一遍,觉得很一般就如实说了,想想觉得得对大家负责,这几天特意翻了一遍。在这里再唠唠,它虽然是一个经典的入门教程,写作风格也相对轻松幽默,但是由于本书写作于2010年,书中有大量内容已经过时,所以不推荐!

说到这里,很伤心。因为现在大部分市面上见到的书都存在过时的问题。一是翻译的书落地需要时间,另外一个是国内的互联网技术环境发展并不比国外发展慢。甚至于我们在很多领域都要超前很多,很多外来的内容对我们来说本身就是过时的。而国内优秀的Python书籍又非常匮乏。

Python进阶者

当你对Python有了一定了解,在实际的工作中用过一段时间,那么就应该考虑进阶相关的书籍了。进阶推荐的书有如下几本:

1. 《Python高级编程》。这本书副标题叫做「Best practices for designing, coding, and distributing your Python software」,其实感觉更适合这个名字。它是10年出版的,时间特蛮长了,但是我依然要首先推荐,因为这本书可以说对我影响非常大,以至于当时我读了好几遍,每次读完都觉得有很大收获,帮助我之后的Python之路少走了很多弯路。

2. 《Python高手之路》。本书的作者是开源项目OpenStack的PTL(项目技术负责人)之一的 Julien Danjou。我一直说,一定要看书及其技术评审的作者的经历和经验,这本书虽然只有2百多页,但是本书对项目的结构设计,对模块和库的管理,如何编写文档,如何分发,以及如何通过虚拟环境对项目进行测试都有自己的见解。此外,本书还涉及了很多高级主题,如性能优化、插件化结构的设计与架构、Python 3的支持策略等。值得一提的,本书的评审包含Python核心开发者Nick Coghlan、Doug Hellmann以及Victor Stinner等,所以书的作者是圈内人

3. 《Python编程实战:运用设计模式、并发和程序库创建高质量程序》。这本书有Doug Hellmann作序。书中的设计模式、并发变成和扩充Python都是非常通用的技术,是难得深入讲解如此深入的一本好书。

4. 《Python标准库》。这本书是Doug Hellmann写的,介绍Python 2标准库的使用,最初是PYMOTW网站上的一系列文章,后来成书。现在作者已经出版了Python 3版本的《The Python Standard Library by Example》。这是学好Python的必经之路,如果英文不过关,买本书花一段时间好好看这些标准库的使用方法,对于未来写代码和阅读开源项目以及其他同事写的项目都有非常大的帮助。

5. Effective Python:编写高质量Python代码的59个有效方法。 这本书虽然不太知名,但是相信大部分开发者看完都会有所收获,可以提高Python代码质量的。

6. 《Python Web开发实战》。好吧,这是一个广告!这是我写的一本书,马上预售了。不说太多,有兴趣的可以去看介绍,尤其是看作序和推荐的人都有谁就好了 ^.^

Python 3相关

Python 3是未来这毋庸置疑,市面上也有一些书以Python 3作为卖点。但是目前为止,我还没有发现一本好的中文书籍。期待中...

编程其实重在对编程思想的理解和经验的积累,Python 2/3的思想基本是共通的,只有少量的语法有差别甚至不兼容。学好Python 2分分钟去写Python 3的代码,其实不必纠结Python 3这件事。

最后分享一个我2年前在公司做过的《Python高级编程》的视频。

作者:董伟明

链接:https://zhuanlan.zhihu.com/p/22198827

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。