关于第五版 —— 具体的变更 | 前言 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-金年会app官方网
具体改变有:
- 这里的 python 2.x 覆盖范围已更新,包括诸如字典和集合理解之类的特性,它们以前仅用于 3.x,但已经回流到 2.7 中使用。
- python 3.x 的覆盖范围已经增加了新的 yield 和 raise 语法;
__pycache__
字节码模型;3.3 命名空间包;pydoc 的全浏览器模式;unicode 字面量和存储变化;以及随 3.3 一起发行的新 windows 。 - 添加了各种各样新的或扩展的 json, timeit, pypy, os.popen, generators, recursion, weak references,
__mro__
,__iter__
, super,__slots__
, metaclasses, descriptors, random, sphinx 等的覆盖范围,并且在示例和叙述中增加了 2.x 兼容性。
这个版本还添加了一个新的结论作为第 41 章(关于 python 的发展),两个新的附录(关于 python 最近的变更和新的 windows 启动器),还有一个新的章节(关于基准测试:以前的代码计时例子的扩展版本)。在前一个版本和这个版本之间 python 改变的精确总结以及它们在本书中的链接,请参见附录 c 。附录还概述了 2.x 和 3.x 之间的初始差异,这些差异在上一个版本中已经首次提到,虽然有一些差异,比如新样式类,跨越了版本,并且简单地在 3.x 中变成了强制的(关于 x 的意义,请稍后再看)。
根据前面列表的最后一条,这个版本也经历了一些增长,因为它为更高级的语言功能提供了更全面的覆盖 - 过去十年中,我们中的许多人都一直努力将它们作为可选项来忽略,但是它们现在在 python 代码中更常见。正如我们将看到的,这些工具使 python 更强大,但也提高了新手的门槛,并可能改变 python 的范围和定义。因为你可能遇到任何一个,所以这本书直接涵盖了它们,而不是假装它们不存在。