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

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

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

Python初学者

如果你之前一点编程经验都没有,先看如下两本:

1.《简明 Python 教程》, 英文名《A Byte of Python》,现在有Python 3的版本(Introduction ยท A Byte of Python)了 。最简洁易懂的Python书了。

2.《"笨办法"学Python》,英文名《Learn Python the Hard Way...》,个人感觉是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作为卖点。但是目前为止,我还没有发现一本好的中文书籍。期待中...

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

欢迎关注本人的微信公众号获取更多Python相关的内容(也可以直接搜索「Python之美」):

python高级编程书籍推荐_Python书籍推荐相关推荐

  1. python高级编程装饰器_Python装饰器

    def my_decorator(function): def _my_decorator(*args, **kw): #在调用实际函数之前做些填充工作 res = function(*args, * ...

  2. python高级语法装饰器_Python高级编程——装饰器Decorator超详细讲解上

    Python高级编程--装饰器Decorator超详细讲解(上篇) 送你小心心记得关注我哦!! 进入正文 全文摘要 装饰器decorator,是python语言的重要特性,我们平时都会遇到,无论是面向 ...

  3. python高级编程函数_Python高级编程之十大装B语法

    for - else 什么?不是 if 和 else 才是原配吗?No,你可能不知道,else 是个脚踩两只船的家伙,for 和 else 也是一对,而且是合法的.十大装B语法,for-else 绝对 ...

  4. Python 高级编程笔记之类别

    目录: 子类化内建类型 访问超类中的方法-super 描述符 & 属性 元编程 主要内容: 1.子类化内建类型 # -*- coding:utf-8 -*-class Folder(list) ...

  5. python高级编程(3) - 深入类和多态

    深入类和多态 一,鸭子类型和多态 鸭子类型 当你看到一只鸟走起来想鸭子,游泳起来像鸭子,叫起来像鸭子,那么这只鸟就叫做鸭子类型 我们并不关心对象是什么类型,到底是不是鸭子,只关心行为. 我们只关心一个 ...

  6. python队列线程池_实例详解:python高级编程之消息队列(Queue)与进程池(Pool)

    今天为大家带来的内容是:python高级编程之消息队列(Queue)与进程池(Pool),结合了实例的形式详细分析了Python消息队列与进程池的相关原理.使用技巧与操作注意事项!!! Queue消息 ...

  7. python数据符号函数等一切皆对象_第一章:Python高级编程-Python一切皆对象

    第一章:Python高级编程-Python一切皆对象 Python3高级核心技术97讲 笔记 1. Python一切皆对象 1.1 函数和类也是对象,属于Python的一等公民 "" ...

  8. 【Python高级编程】

    Python高级编程:技巧代码的玄学与艺术 一.编程语言介绍 Python 作为一门优秀的编程语言,有着很多优势: 简单易学 Python有简单的语法,易于阅读和学习,很适合初学者.它的设计哲学是&q ...

  9. python高级编程-网络编程、多任务

    python高级编程 1 IP地址 用来在网络中标记一台电脑:在本地局域网上是唯一的. 2 端口 一个程序需要收发网络数据,就需要端口号. 3 socket 创建socket # 创建tcp sock ...

  10. 4万字【Python高级编程】保姆式教学,进阶感觉到吃力?学完这些就轻松了

    前几天和一个小伙子聊天时,发现了一个问题,他从零开始学Python,学完列表.字典和函数等基础之后,就开始往爬虫方向进阶学习,结果又花了一个多月的时间,啥也没学成,反而寸步难行. 其实这个问题的主要原 ...

最新文章

  1. [物理学与PDEs]第1章第7节 媒质中的 Maxwell 方程组 7.2 媒质交界面上的条件
  2. java中的实例初始化
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1099:第n小的质数
  4. ROS-Rtabmap:linux shell运行多个shell(运行多个程序)
  5. 某final神犇的工作感想
  6. asp点击增加一条表格数据_asp生成excel报表(一)
  7. 实现平衡二叉排序树的各种算法(包括二叉树的递归遍历、非递归遍历)
  8. CorelDRAWX4的VBA插件开发(三十)使用C++制作动态连接库DLL辅助VBA构键强大功能-(4)在VBA中静态调用写好的DLL文件
  9. 测量平差理论知识结构梳理
  10. 面试时你需要问HR什么问题?
  11. 蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数
  12. 【EMC电磁兼容】01.12——差模与共模
  13. chapter5. Java数据结构与java算法
  14. java.util.regex.PatternSyntaxException: Unclosed counted closure near index 14
  15. python练习题19:四叶玫瑰数
  16. 提醒电脑族:眼睛酸涩会致病
  17. gost备份linux系统,linux系统GOST备份教程.doc
  18. buck电路闭环pi控制matlab图,BUCK电路闭环控制系统的MATLAB仿真
  19. winRaR 命令行实现自解压可执行程序
  20. 解决Java调用Azure SDK证书错误javax.net.ssl.SSLHandshakeException

热门文章

  1. java编程实现行列式计算应用_基于java的行列式计算程序
  2. 算术平均、几何平均、调和平均、平方平均和移动平均
  3. 30个世界顶级思维,看完豁然开朗
  4. Windows启动过程详解
  5. 金融领域的知识图谱搭建简单实操(基于Neo4J)
  6. word转html制作操作手册,Word文档转换为HTML帮助文档操作手册范本.pdf
  7. 南京大学计算机系2019复试离散题目-逻辑与推理
  8. 关于 cdn、回源等问题一网打尽
  9. UE5导入MetaHuman虚拟头像后,连接live link face,面部表情捕捉出错修正
  10. Mac命令行出现-bash: command not found的解决办法