需要说明的是,当我找到还有这么一本书的时候,亚马逊、京东、当当等网站已经没得中文版卖了,而我又懒得上淘宝上折腾,所以干脆就看的英文版的pdf,没想到我这八年没学英文的水平居然能够一字不落的看下来而且觉得挺带感,看样子作者的书写得还是很不错的。
首先要说的是整本书并不厚,也就300多页,内容集中在Python的一些高级特性和技巧上,内容包括:列表推导式、迭代器和生成器以及协程、装饰器,contextlib用法、类的进阶主题(多重继承、mro、描述符和属性以及元编程等)。在这些基础内容之后还有关于包的编写,用Python构建大型应用、代码管理以及测试调优的话题。最后还简单讨论了几个在Python下常用的设计模式。整本书只涉及高级议题,所以并不是循序渐进的,思路上每章都是独立的,因此可以单独学习。
简单谈谈对书中的基础内容的评价:
1.书里谈到的内容作者大都指出了应用情景,这对于希望深入学习Python,提高编程技术的同学来说是很有帮助的,也是我对这本书最满意的地方。
2.关于生成器,从Java转过来的同学可能会很不熟悉,或者说不习惯其用法,因为Java从来都没有这玩意,今后也不一定会支持。就像Java以后也很有可能不会支持闭包一样。但是这个东西用好了其实是个很有威力的东东,尤其是Python2.5以后开始通过生成器支持协程,尽管只是部分实现,仍然可以让我们一窥协程的威力。但是关于协程的的资料一直都不是太多,与python协程有关的就更少了。这里推荐几篇文章:
1)PEP 342:http://www.python.org/dev/peps/pep-0342
这个PEP是Python通过生成器支持协程的根本,其中还包含了几个编程示例。属于了解Python协程必读的文章。
2) A Curious Course on Coroutines and Concurrency: http://www.dabeaz.com/coroutines/index.html
这是Python参考手册的作者写的一个关于协程的教程,曾在PyCon09上发表过。入门的好材料。
3)Indie之路的Blog里关于协程的三篇文章:http://ravenw.com
这三篇文章对协程的介绍很详细,但是风格很学术,带有很多术语,非科班出身的人看起来大概有点困难。作者结合语言特性谈了谈一些跟协程有关的深入话题。老实说,我也没全看懂,但是这三篇文章写得确实不错。
3.关于装饰器
这本书对装饰器的介绍可以说是我看过的书里最详细最好的,甚至比很多人推荐的Dive Into Python都介绍得多。同时,作者列出了装饰器使用时的主要情景,思路非常清晰。读了这一章,你就不用再费心在网上去找那些到处Copy的关于装饰器的Blog了。
4.contextlib
这个用的人估计不是很多,因为这东西是为了跟with语句联用准备的,可以很方便的让函数也支持with语句。不过with语句是Python3的特性(Python2.6以后的版本可以通过__future__模块启用with语句)。with的好处就是在语句块内的代码执行完毕后可以保证最后执行一段代码,比如关闭资源等。这也是个高级技巧,用好了会很方便。
5.关于类
Python的类的话题有两个主要的子话题,一个是新式类和旧式类,一个是多重继承。第一问题是Python的历史遗留问题,第二个问题跟Python的MRO(Method Resolution Order)有关。关于Python的旧式类和新式类的区别和存在原因可以参考StackOverflow上的这个帖子下面的最佳答案:http://stackoverflow.com/questions/54867/old-style-and-new-style-classes-in-python.
关于多重继承,这里更多的是要注意MRO带来的陷阱。书中有详细的介绍与讨论,是Python程序员必须掌握的内容。
总的说来,这本书内容还是相当有分量的,谈到的话题比较深入,但是也有不足:
首先是这本书是2008年出版的,因此内容已经有些过时了,尽管有相当多的地方,作者已经提到了Python3的一些变化,但整本书依旧还是以Python2为主。同时,有些包也已经有些过时了,比如谈协程的时候,作者使用的包是eventlet,现在更多的(至少我看国内很多人)用的是gevent。所以,个人还是非常希望这本书出第二版更新的。
除此之外,这本书缺少对于调试工具的介绍,我很郁闷的一点是,最近没能找到对Python的pdb工具进行详细介绍的资料,看样子这本书也没有提,非常遗憾。
相当不错的Python进阶读物
对“相当不错的Python进阶读物”的回应
《Python高级编程》热门书评
-
相当不错的Python进阶读物
18有用 0无用 [已注销] 2012-12-22
需要说明的是,当我找到还有这么一本书的时候,亚马逊、京东、当当等网站已经没得中文版卖了,而我又懒得上淘宝上折腾,所以干脆就看的英文版的pdf,没想到我这八年没学英文的水平居然能够一字不落的看下来而且觉得挺带感,看样子作者的书写得还是很不错的。首先要说的是整本书并不厚,也就300多页,内容集中在Pyt...
-
从当当靠屁了书目
6有用 5无用 沿着黄河走到头 2010-01-07
靠屁是故意的,请勿纠正。第1章 准备工作 1.1 安装Python 1.1.1 Python实现版本 1.1.2 在Linux环境下安装 1.1.3 在Windows环境下安装 1.1.4 在Mac OS X环境下安装 1.2 Python命令行 1.2.1 定制交互式命令行...
-
在新华书店看见中文版
3有用 0无用 飞爷 2010-01-20
在新华书店看见中文版的,粗略的看了一下写的很好很实用,非常适合已经熟练掌握python的人再进行性能优化修炼!...
-
思想可以参考,例子不够简洁,最好自己上网重新找过
2有用 2无用 zz1217 2011-02-25
目录看起来有点噱头,一看就貌似都是你想要的,内容怎么说呢,思想还都是挺不错的,就是举例太不让人省心了,喜欢import各种model,看个例子前还得先把熟悉一遍,举个简洁一点的例子不行啊,外国人写的书,咋沾上国内教授们的习气了呢。另外,排版和翻译还过得去...
-
随便翻了翻,内容和书名很匹配
2有用 0无用 大头菜 2013-05-02
仅仅随便翻了翻其实不应该来写书评的,但是没忍住,见谅!大概的看一下目录,感觉真正讲python语言核心的也就第2、3两章,而且一上来就是listing comprehension、iterator、generator等等高级话题,确实不适合初学者。后面的章节的内容更是高级了,都是和真正开发相关的东西...
书名: Python高级编程
作者: Tarek Ziadé
出版社: 人民邮电出版社
原作名: Expert Python Programming
译者: 夏海轮 | 姚军
出版年: 2010-1
页数: 306
定价: 45.00元
装帧: 平装
ISBN: 9787115217035