附录 A. 进一步阅读
Description: Python from novice to pro
Keywords: Python, Dive Into Python, tutorial, object-oriented, programming, documentation, book, free

# 深入 Python :Dive Into Python 中文版 Python 从新手到专家 [Dip_5.4b_CPyUG_Release] | Find:

## 附录 A. 进一步阅读

第 1 章 安装 Python

第 2 章 第一个 Python 程序

- 2.3. 文档化函数

  - PEP 257 定义了 `doc string` 规范。
  - Python Style Guide 讨论了如何编写一个好的 `doc string`。
  - Python Tutorial 讨论了在 `doc string` 中如何使用空白。

- 2.4.2. 何谓对象？

  - Python Reference Manual 确切解释了在 Python 中万物皆对象的含义，因为有些书生气十足的人，喜欢花时间讨论这类的问题。
  - eff-bot 总结了 Python 对象.

- 2.5. 代码缩进

  - Python Reference Manual 讨论了交叉缩进问题，并且演示了各种各样的缩进错误。
  - Python Style Guide 讨论了良好的缩进风格。

- 2.6. 测试模块

  - Python Reference Manual 讨论了导入模块的底层细节。

第 3 章 内置数据类型

- 3.1.3. 从 dictionary 中删除元素

  - How to Think Like a Computer Scientist 讲授了 dictionary 和如何使用 dictionary 模拟稀疏矩阵。
  - Python Knowledge Base 有许多使用 dictionary 的示例代码。
  - Python Cookbook 讨论了如何通过 key 对 dictionary 的值进行排序。
  - Python Library Reference 总结了所有的 dictionary 方法。

- 3.2.5. 使用 list 的运算符

  - How to Think Like a Computer Scientist 讲述了list，并且重点讲述了如何把 list 作为函数参数传递。
  - Python Tutorial 展示了如何把 list 作为堆栈和队列使用。
  - Python Knowledge Base 回答了有关 list 的常见问题并且有许多使用 list 的示例代码。
  - Python Library Reference 总结了所有的 list 方法。

- 3.3. Tuple 介绍

  - How to Think Like a Computer Scientist 讲解了 tuple 并且展示了如何连接 tuple。
  - Python Knowledge Base 展示了如何对一个 tuple 排序。
  - Python Tutorial 展示了如何定义一个只包含一个元素的 tuple。

- 3.4.2. 一次赋多值

  - Python Reference Manual 展示了什么时候可以忽略续行符和什么时候您需要使用续行符的例子。
  - How to Think Like a Computer Scientist 演示了如何使用多变量赋值来交换两个变量的值。

- 3.5. 格式化字符串

  - Python Library Reference 总结了所有字符串格式化所使用的格式符。
  - Effective AWK Programming 讨论了所有的格式符和高级字符串格式化技术，如指定宽度，精度和0填充。

- 3.6. 映射 list

  - Python Tutorial 讨论了另一种方法来映射 list：使用内置的 `map` 函数。
  - Python Tutorial 展示了如何对嵌套 list 的 list 进行解析。

- 3.7. 连接 list 与分割字符串

  - Python Knowledge Base 回答了关于字符串的常见问题，并且有许多使用字符串的例子代码。
  - Python Library Reference 总结了所有字符串方法。
  - Python Library Reference 提供了 `string` 模块的文档。
  - The Whole Python FAQ 解释了为什么 `join` 是字符串方法而不是 list 方法。

第 4 章 自省的威力

- 4.2. 使用可选参数和命名参数

  - Python Tutorial 确切地讨论了何时、如何进行缺省参数赋值，这都和缺省值是一个 list 还是一个具有副作用的表达式有关。

- 4.3.3. 内置函数

  - Python Library Reference 对所有的内置函数和所有的内置异常都进行了文档化。

- 4.5. 过滤列表

  - Python Tutorial 讨论了使用内置 `filter` 函数过滤列表的另一种方式。

- 4.6.1. 使用 and-or 技巧

  - Python Cookbook 讨论了其它的 `and-or` 技巧。

- 4.7.1. 真实世界中的 lambda 函数

  - Python Knowledge Base 讨论了使用 `lambda` 来间接调用函数。
  - Python Tutorial 演示了如何从一个 `lambda` 函数内部访问外部变量。(PEP 227 解释了在 Python 的未来版本中将如何变化。)
  - The Whole Python FAQ 有关于令人模糊的使用 `lambda` 单行语句的例子。

第 5 章 对象和面向对象

- 5.2. 使用 from module import 导入模块

  - eff-bot 有更多关于 `import module` vs. `from module import` 的论述。
  - Python Tutorial 讨论了高级的导入技术，包括 `from module import *`。

- 5.3.2. 了解何时去使用 self 和 __init__

  - Learning to Program 有优雅的类的介绍。
  - How to Think Like a Computer Scientist 展示了如何使用类来实现复合数据类型模型。
  - Python Tutorial 深入考虑了类、名字空间和继承。
  - Python Knowledge Base 回答了关于类的常见问题。

- 5.4.1. 垃圾回收

  - Python Library Reference 总结了像 `__class__` 之类的内置属性。
  - Python Library Reference 提供了 `gc` 模块的文档，此模块给予你对 Python 的垃圾回收的底层控制权。

- 5.5. 探索 UserDict：一个封装类

  - Python Library Reference 提供了 `UserDict` 模块 和 `copy` 模块 的文档。

- 5.7. 高级专用类方法

  - Python Reference Manual 提供了所有专用类方法的文档。

- 5.9. 私有函数

  - Python Tutorial 讨论了私有变量的内部工作方式。

第 6 章 异常和文件处理

- 6.1.1. 为其他用途使用异常

  - Python Tutorial 讨论了异常，包括定义和引发你自已的异常，以及一次处理多个异常。
  - Python Library Reference 总结了所有内置异常。
  - Python Library Reference 提供了 getpass 模块的文档。
  - Python Library Reference 提供了 `traceback` 模块 的文档，这个模块在异常引发之后，提供了底层的对异常属性的处理。
  - Python Reference Manual 讨论了 `try...except` 块 的内部工作方式。

- 6.2.4. 写入文件

  - Python Tutorial 讨论了文件的读取和写入，包括如何将一个文件一次一行地读到 list 中。
  - eff-bot 讨论了各种各样读取文件方法 的效率和性能。
  - Python Knowledge Base 回答了关于文件的常见问题。
  - Python Library Reference 总结了所有文件对象模块。

- 6.4. 使用 sys.modules

  - Python Tutorial 讨论了缺省参数到底在什么时候和是如何计算的。
  - Python Library Reference 提供了 `sys` 模块的文档。

- 6.5. 与目录共事

  - Python Knowledge Base 回答了关于 `os` 模块的问题。
  - Python Library Reference 提供了 `os` 模块和 `os.path` 模块的文档。

第 7 章 正则表达式

- 7.6. 个案研究：解析电话号码

  - Regular Expression HOWTO 讲解正则表达式和如何在 Python 中使用正则表达式。
  - Python Library Reference 概述了 `re` module。

第 8 章 HTML 处理

- 8.4. BaseHTMLProcessor.py 介绍

  - W3C 讨论了字符和实体引用。
  - Python Library Reference 解答了您的怀疑，即 `htmlentitydefs` 模块的确名符其实。

- 8.9. 全部放在一起

  - 您可能会认为我的服务端脚本编程的想法是开玩笑。在我发现这个基于 web 的方言转换器之前，的确是这样想的。不幸的是，看不到它的源代码。

第 9 章 XML 处理

- 9.4. Unicode

  - Unicode.org 是 unicode 标准的主页，包含了一个简要的技术简介。
  - Unicode 教程有更多关于如何使用 Python unicode 函数的例子，包括甚至在并不真的需要时如何将 unicode 强制转换为 ASCII。
  - PEP 263 涉及了何时、如何在你的`.py`文件中定义字符编码的更多细节。

第 10 章 脚本和流

第 11 章 HTTP Web 服务

- 11.1. 概览

  - Paul Prescod 认为纯 HTTP web 服务是 Internet 的未来。

第 12 章 SOAP Web 服务

- 12.1. 概览

  - http://www.xmethods.net/ 是一个访问 SOAP web 服务的公共知识库。
  - SOAP 规范相当可读，如果你喜欢这类东西的话。

- 12.8. SOAP 网络服务故障排除

  - New developments for SOAPpy 一步步连接到另一个不名副其实的 SOAP 服务。

第 13 章 单元测试

- 13.1. 罗马数字程序介绍 II

  - 这个站点 有关于罗马数字更多的内容，包括罗马人如何使用罗马数字的迷人 历史 (简言之：充满偶然性和反复无常)。

- 13.3. romantest.py 介绍

  - PyUnit 主页 对于使用 `unittest` 框架 以及本章没能涵盖的高级特性有深入的讨论。
  - PyUnit FAQ 解释了 为什么测试用例要和被测试代码分开存放 。
  - Python Library Reference 总结了 `unittest` 模块。
  - ExtremeProgramming.org 讨论 你为什么需要编写单元测试。
  - The Portland Pattern Repository 有一个持续的 单元测试 讨论，包括了一个 标准的定义，为什么你需要 首先开发单元测试代码 以及另外一些深层次 案例。

第 14 章 测试优先编程

第 15 章 重构

- 15.5. 小结

  - XProgramming.com 有多种语言的 单元测试框架 的下载链接。

第 16 章 函数编程

第 17 章 动态函数

- 17.7. plural.py, 第 6 阶段

  - PEP 255 定义生成器。
  - Python Cookbook 有生成器的例子。

第 18 章 性能优化

- 18.1. 概览

  - Soundexing and Genealogy 给出了 Soundex 发展的年代表以及地域变化。