作者的话¶
自从 2008 年以来,Python 3 横空出世并慢慢进化。Python 3 的流行一直被认为需要很长一段时间。
事实上,到我写这本书的 2013 年,绝大部分的 Python 程序员仍然在生产环境中使用的是版本 2 系列,
最主要是因为 Python 3 不向后兼容。毫无疑问,对于工作在遗留代码上的每个程序员来讲,向后兼容是不得不考虑的问题。
但是放眼未来,你就会发现 Python 3 给你带来不一样的惊喜。
正如 Python 3 代表未来一样,新的《Python Cookbook》版本相比较之前的版本有了一个全新的改变。
首先,也是最重要的,这意味着本书是一本非常前沿的参考书。书中所有代码都是在 Python 3.3 版本下面编写和测试的,
并没有考虑之前老版本的兼容性,也没有标注旧版本下的解决方案。这样子可能会有争议,
但是我们最终的目的是写一本完全基于现代工具和语言的书籍。
我们希望本书能够指导人们使用 Python 3 编写新的代码或者升级之前的遗留代码。
毫无疑问,编写一本这样的书给编辑工作带来一定的挑战。如果在网上搜索 Python 秘籍的话,会在诸如 ActiveState’s Python recipes 或者 Stack Overflow 的网站上搜到数以千计的有用的秘籍,但是其中绝大部分都已经是过时的了。
这些秘籍除了是基于 Python 2 编写之外,可能还有很多解决方案在不同的版本之间是不一样的 (比如 2.3 和 2.4 版本)。
另外,它们还会经常使用一些过时的技术,这些可能已经内置到 Python 3.3 里面去了。寻找完全基于 Python 3 的秘籍真的难上加难啊。
这本书的所有主题都是基于已经存在的代码和技术,而不是专门去寻找 Python 3 特有的秘籍。
在原有代码基础上,我们完全使用最新的 Python 技术去改造。
所以,任何想使用最新技术编写代码的程序员,都可以将本书当做一本很好的参考书籍。
在选择要包含哪些秘籍方面,很明显不可能编写一本书囊括 Python 领域所有的东西。
因此,我们优先选择了 Python 语言核心部分,以及那些有着广泛应用领域的问题。
另外,其中有很多秘籍用来展示 Python 3 的新特性,
这对于很多人来说是比较陌生的,哪怕是使用 Python 老版本的经验丰富的程序员。
这些示例程序也会偏向于展示一些有着广泛应用的编程技术 (即编程模式),
而不是仅仅定位在一些具体的问题上。尽管也提及到了一些第三方包,但是本书主要定位在 Python 语言核心和标准库。