Effective Python:编写高质量Python代码的90个有效方法(原书第2版)
上QQ阅读APP看书,第一时间看更新

译者序

一拿到这本书的英文版,立刻觉得它比上一版厚了许多。对比副书名,发现新版多出了31[1]条建议;翻开目录,看到章节划分也和原来不同。新版单独设立了几章来强调列表与字典、推导与生成、元类与属性、稳定与性能,以及测试与调试等几个重要主题,并把上一版的一些建议从原有位置移到了这些新章中。

跟其他某些修订版本不同,本书的新版并非简单地调整文字,而是有三个重要变化。

首先,作者这次只关注Python 3,而不再兼顾Python 2,这样可以腾出许多篇幅,从而将相关技巧在Python 3中的原理与用法讲得更加透彻。

第二个变化,是作者根据Python语言近年来引入的新特性,以及Python开发界所形成的新经验,修订了上一版中的某些思路与解决方案,以便更好地发挥Python的优势。现今的Python早已从一门新兴的语言变成了获得广泛认可的成熟语言,尽管具体的特性一直在变,但依然保持着简洁而直观的编程理念。

两个版本之间的第三个区别,自然是条目上的变动。作者把已经过时或者不在本版讨论范围内的知识点从原条目里删去,并添加一些条目以突出Python的新特性。另外,作者还将某些比较笼统的条目拆分成几个新条目来详细讲解。

本版在范例代码安排上跟上一版相似,目的是让每条建议都可以单独拿出来学习并运用,所以不会以一两个大例子贯穿全书,而是针对每条建议各自举例。当然其中有些例子,比如生命游戏、生产者-消费者队列等,本身比较完备,可以用在许多场景中。但还有一些例子,则仅仅用来演示某种用法。大家应该结合自己的项目加以改编,并多做尝试。

虽然这一版在写法上延续了上一版乃至Effective系列一贯的风格,但由于内容和观点变化比较大,因此译者没有套用原来的译稿,而是重新翻译了全书。借着这次重译,我把原来措辞较为生硬的地方调整得通俗一些,便于大家理解。希望这次的新译本能够帮助更多的人了解Python语言,以及这门语言在最近几年中的变化,从而不断地更新自己的技能与思路。

我在翻译本书的过程中得到了机械工业出版社华章公司各位工作人员的帮助,在此深表感谢。特别要感谢关敏编辑再度给我机会翻译这本好书。由于时间仓促加上译者水平有限,书中可能有错误与疏漏之处,欢迎大家访问github.com/jeffreybaoshenlee/ep2-errata/issues留言,或发邮件至eastarstormlee@gmail.com,给我以批评和指教。

爱飞翔
2020年9月


[1]本书英文第1版共59条建议,第2版有90条,相差了31条。这31条中包含26条全新的内容,另外5条则是根据上一版中的第40、46、56条修订而成的。——译者注