💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 附录 A. 进一步阅读 第 1 章 安装 Python 第 2 章 第一个 Python 程序 * 2.3. 文档化函数 * [PEP 257](http://www.python.org/peps/pep-0257.html) 定义了 `doc string` 规范。 * [_Python Style Guide_](http://www.python.org/doc/essays/styleguide.html) 讨论了如何编写一个好的 `doc string`。 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了[在 `doc string` 中如何使用空白](http://www.python.org/doc/current/tut/node6.html#SECTION006750000000000000000)。 * 2.4.2. 何谓对象? * [_Python Reference Manual_](http://www.python.org/doc/current/ref/) 确切解释了[在 Python 中万物皆对象的含义](http://www.python.org/doc/current/ref/objects.html),因为有些书生气十足的人,喜欢花时间讨论这类的问题。 * [eff-bot](http://www.effbot.org/guides/) 总结了 [Python 对象](http://www.effbot.org/guides/python-objects.htm). * 2.5. 代码缩进 * [_Python Reference Manual_](http://www.python.org/doc/current/ref/) 讨论了交叉缩进问题,并且[演示了各种各样的缩进错误](http://www.python.org/doc/current/ref/indentation.html)。 * [_Python Style Guide_](http://www.python.org/doc/essays/styleguide.html) 讨论了良好的缩进风格。 * 2.6. 测试模块 * [_Python Reference Manual_](http://www.python.org/doc/current/ref/) 讨论了[导入模块](http://www.python.org/doc/current/ref/import.html)的底层细节。 第 3 章 内置数据类型 * 3.1.3. 从 dictionary 中删除元素 * [_How to Think Like a Computer Scientist_](http://www.ibiblio.org/obp/thinkCSpy/ "Python book for computer science majors") 讲授了 dictionary 和如何[使用 dictionary 模拟稀疏矩阵](http://www.ibiblio.org/obp/thinkCSpy/chap10.htm)。 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 有许多[使用 dictionary 的示例代码](http://www.faqts.com/knowledge-base/index.phtml/fid/541)。 * [Python Cookbook](http://www.activestate.com/ASPN/Python/Cookbook/ "growing archive of annotated code samples") 讨论了[如何通过 key 对 dictionary 的值进行排序](http://www.activestate.com/ASPN/Python/Cookbook/Recipe/52306)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了[所有的 dictionary 方法](http://www.python.org/doc/current/lib/typesmapping.html)。 * 3.2.5. 使用 list 的运算符 * [_How to Think Like a Computer Scientist_](http://www.ibiblio.org/obp/thinkCSpy/ "Python book for computer science majors") 讲述了list,并且重点讲述了如何[把 list 作为函数参数传递](http://www.ibiblio.org/obp/thinkCSpy/chap08.htm)。 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 展示了如何[把 list 作为堆栈和队列使用](http://www.python.org/doc/current/tut/node7.html#SECTION007110000000000000000)。 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 回答了[有关 list 的常见问题](http://www.faqts.com/knowledge-base/index.phtml/fid/534)并且有许多[使用 list 的示例代码](http://www.faqts.com/knowledge-base/index.phtml/fid/540)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了[所有的 list 方法](http://www.python.org/doc/current/lib/typesseq-mutable.html)。 * 3.3. Tuple 介绍 * [_How to Think Like a Computer Scientist_](http://www.ibiblio.org/obp/thinkCSpy/ "Python book for computer science majors") 讲解了 tuple 并且展示了如何[连接 tuple](http://www.ibiblio.org/obp/thinkCSpy/chap10.htm)。 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 展示了如何对[一个 tuple 排序](http://www.faqts.com/knowledge-base/view.phtml/aid/4553/fid/587)。 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 展示了如何[定义一个只包含一个元素的 tuple](http://www.python.org/doc/current/tut/node7.html#SECTION007300000000000000000)。 * 3.4.2. 一次赋多值 * [_Python Reference Manual_](http://www.python.org/doc/current/ref/) 展示了[什么时候可以忽略续行符](http://www.python.org/doc/current/ref/implicit-joining.html)和[什么时候您需要使用续行符](http://www.python.org/doc/current/ref/explicit-joining.html)的例子。 * [_How to Think Like a Computer Scientist_](http://www.ibiblio.org/obp/thinkCSpy/ "Python book for computer science majors") 演示了如何使用多变量赋值来[交换两个变量的值](http://www.ibiblio.org/obp/thinkCSpy/chap09.htm)。 * 3.5. 格式化字符串 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了[所有字符串格式化所使用的格式符](http://www.python.org/doc/current/lib/typesseq-strings.html)。 * [_Effective AWK Programming_](http://www-gnats.gnu.org:8080/cgi-bin/info2www?(gawk)Top) 讨论了[所有的格式符](http://www-gnats.gnu.org:8080/cgi-bin/info2www?(gawk)Control+Letters)和高级字符串格式化技术,如[指定宽度,精度和0填充](http://www-gnats.gnu.org:8080/cgi-bin/info2www?(gawk)Format+Modifiers)。 * 3.6. 映射 list * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了另一种方法来映射 list:[使用内置的 `map` 函数](http://www.python.org/doc/current/tut/node7.html#SECTION007130000000000000000)。 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 展示了如何[对嵌套 list 的 list 进行解析](http://www.python.org/doc/current/tut/node7.html#SECTION007140000000000000000)。 * 3.7. 连接 list 与分割字符串 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 回答了[关于字符串的常见问题](http://www.faqts.com/knowledge-base/index.phtml/fid/480),并且有许多[使用字符串的例子代码](http://www.faqts.com/knowledge-base/index.phtml/fid/539)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了[所有字符串方法](http://www.python.org/doc/current/lib/string-methods.html)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 提供了 [`string` 模块](http://www.python.org/doc/current/lib/module-string.html)的文档。 * [_The Whole Python FAQ_](http://www.python.org/doc/FAQ.html) 解释了[为什么 `join` 是字符串方法](http://www.python.org/cgi-bin/faqw.py?query=4.96&querytype=simple&casefold=yes&req=search)而不是 list 方法。 第 4 章 自省的威力 * 4.2. 使用可选参数和命名参数 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 确切地讨论了[何时、如何进行缺省参数赋值](http://www.python.org/doc/current/tut/node6.html#SECTION006710000000000000000),这都和缺省值是一个 list 还是一个具有副作用的表达式有关。 * 4.3.3. 内置函数 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 对[所有的内置函数](http://www.python.org/doc/current/lib/built-in-funcs.html)和[所有的内置异常](http://www.python.org/doc/current/lib/module-exceptions.html)都进行了文档化。 * 4.5. 过滤列表 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了[使用内置 `filter` 函数](http://www.python.org/doc/current/tut/node7.html#SECTION007130000000000000000)过滤列表的另一种方式。 * 4.6.1. 使用 and-or 技巧 * [Python Cookbook](http://www.activestate.com/ASPN/Python/Cookbook/ "growing archive of annotated code samples") 讨论了[其它的 `and-or` 技巧](http://www.activestate.com/ASPN/Python/Cookbook/Recipe/52310)。 * 4.7.1. 真实世界中的 lambda 函数 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 讨论了使用 `lambda` 来[间接调用函数](http://www.faqts.com/knowledge-base/view.phtml/aid/6081/fid/241)。 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 演示了如何[从一个 `lambda` 函数内部访问外部变量](http://www.python.org/doc/current/tut/node6.html#SECTION006740000000000000000)。([PEP 227](http://python.sourceforge.net/peps/pep-0227.html) 解释了在 Python 的未来版本中将如何变化。) * [_The Whole Python FAQ_](http://www.python.org/doc/FAQ.html) 有关于[令人模糊的使用 `lambda` 单行语句](http://www.python.org/cgi-bin/faqw.py?query=4.15&querytype=simple&casefold=yes&req=search)的例子。 第 5 章 对象和面向对象 * 5.2. 使用 from module import 导入模块 * [eff-bot](http://www.effbot.org/guides/) 有更多关于 [`import _module_` _vs._ `from _module_ import`](http://www.effbot.org/guides/import-confusion.htm) 的论述。 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了高级的导入技术,包括 [`from _module_ import *`](http://www.python.org/doc/current/tut/node8.html#SECTION008410000000000000000)。 * 5.3.2. 了解何时去使用 self 和 __init__ * [_Learning to Program_](http://www.freenetpages.co.uk/hp/alan.gauld/ "Python book for first-time programmers") 有优雅的[类的介绍](http://www.freenetpages.co.uk/hp/alan.gauld/tutclass.htm)。 * [_How to Think Like a Computer Scientist_](http://www.ibiblio.org/obp/thinkCSpy/ "Python book for computer science majors") 展示了如何[使用类来实现复合数据类型模型](http://www.ibiblio.org/obp/thinkCSpy/chap12.htm)。 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 深入考虑了[类、名字空间和继承](http://www.python.org/doc/current/tut/node11.html)。 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 回答了[关于类的常见问题](http://www.faqts.com/knowledge-base/index.phtml/fid/242)。 * 5.4.1. 垃圾回收 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了[像 `__class__` 之类的内置属性](http://www.python.org/doc/current/lib/specialattrs.html)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 提供了 [`gc` 模块的文档](http://www.python.org/doc/current/lib/module-gc.html),此模块给予你对 Python 的垃圾回收的底层控制权。 * 5.5. 探索 UserDict:一个封装类 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 提供了 [`UserDict` 模块](http://www.python.org/doc/current/lib/module-UserDict.html) 和 [`copy` 模块](http://www.python.org/doc/current/lib/module-copy.html) 的文档。 * 5.7. 高级专用类方法 * [_Python Reference Manual_](http://www.python.org/doc/current/ref/) 提供了[所有专用类方法](http://www.python.org/doc/current/ref/specialnames.html)的文档。 * 5.9. 私有函数 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了[私有变量](http://www.python.org/doc/current/tut/node11.html#SECTION0011600000000000000000)的内部工作方式。 第 6 章 异常和文件处理 * 6.1.1. 为其他用途使用异常 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了异常,包括[定义和引发你自已的异常,以及一次处理多个异常](http://www.python.org/doc/current/tut/node10.html#SECTION0010400000000000000000)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了[所有内置异常](http://www.python.org/doc/current/lib/module-exceptions.html)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 提供了 [getpass](http://www.python.org/doc/current/lib/module-getpass.html) 模块的文档。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 提供了 [`traceback` 模块](http://www.python.org/doc/current/lib/module-traceback.html) 的文档,这个模块在异常引发之后,提供了底层的对异常属性的处理。 * [_Python Reference Manual_](http://www.python.org/doc/current/ref/) 讨论了 [`try...except` 块](http://www.python.org/doc/current/ref/try.html) 的内部工作方式。 * 6.2.4. 写入文件 * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了文件的读取和写入,包括如何[将一个文件一次一行地读到 list 中](http://www.python.org/doc/current/tut/node9.html#SECTION009210000000000000000)。 * [eff-bot](http://www.effbot.org/guides/) 讨论了[各种各样读取文件方法](http://www.effbot.org/guides/readline-performance.htm) 的效率和性能。 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 回答了[关于文件的常见问题](http://www.faqts.com/knowledge-base/index.phtml/fid/552)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了[所有文件对象模块](http://www.python.org/doc/current/lib/bltin-file-objects.html)。 * 6.4. 使用 sys.modules * [_Python Tutorial_](http://www.python.org/doc/current/tut/tut.html) 讨论了[缺省参数到底在什么时候和是如何计算的](http://www.python.org/doc/current/tut/node6.html#SECTION006710000000000000000)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 提供了 [`sys`](http://www.python.org/doc/current/lib/module-sys.html) 模块的文档。 * 6.5. 与目录共事 * [Python Knowledge Base](http://www.faqts.com/knowledge-base/index.phtml/fid/199/) 回答了[关于 `os` 模块的问题](http://www.faqts.com/knowledge-base/index.phtml/fid/240)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 提供了 [`os`](http://www.python.org/doc/current/lib/module-os.html) 模块和 [`os.path`](http://www.python.org/doc/current/lib/module-os.path.html) 模块的文档。 第 7 章 正则表达式 * 7.6. 个案研究:解析电话号码 * [Regular Expression HOWTO](http://py-howto.sourceforge.net/regex/regex.html) 讲解正则表达式和如何在 Python 中使用正则表达式。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 概述了 [`re` module](http://www.python.org/doc/current/lib/module-re.html)。 第 8 章 HTML 处理 * 8.4. BaseHTMLProcessor.py 介绍 * [W3C](http://www.w3.org/) 讨论了[字符和实体引用](http://www.w3.org/TR/REC-html40/charset.html#entities)。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 解答了您的怀疑,即 [`htmlentitydefs` 模块](http://www.python.org/doc/current/lib/module-htmlentitydefs.html)的确名符其实。 * 8.9. 全部放在一起 * 您可能会认为我的服务端脚本编程的想法是开玩笑。在我发现这个[基于 web 的方言转换器](http://rinkworks.com/dialect/)之前,的确是这样想的。不幸的是,看不到它的源代码。 第 9 章 XML 处理 * 9.4. Unicode * [Unicode.org](http://www.unicode.org/) 是 unicode 标准的主页,包含了一个简要的[技术简介](http://www.unicode.org/standard/principles.html)。 * [Unicode 教程](http://www.reportlab.com/i18n/python_unicode_tutorial.html)有更多关于如何使用 Python unicode 函数的例子,包括甚至在并不真的需要时如何将 unicode 强制转换为 ASCII。 * [PEP 263](http://www.python.org/peps/pep-0263.html) 涉及了何时、如何在你的`.py`文件中定义字符编码的更多细节。 第 10 章 脚本和流 第 11 章 HTTP Web 服务 * 11.1. 概览 * Paul Prescod 认为[纯 HTTP web 服务是 Internet 的未来](http://webservices.xml.com/pub/a/ws/2002/02/06/rest.html)。 第 12 章 SOAP Web 服务 * 12.1. 概览 * [http://www.xmethods.net/](http://www.xmethods.net/) 是一个访问 SOAP web 服务的公共知识库。 * [SOAP 规范](http://www.w3.org/TR/soap/)相当可读,如果你喜欢这类东西的话。 * 12.8.  SOAP 网络服务故障排除 * [New developments for SOAPpy](http://www-106.ibm.com/developerworks/webservices/library/ws-pyth17.html) 一步步连接到另一个不名副其实的 SOAP 服务。 第 13 章 单元测试 * 13.1. 罗马数字程序介绍 II * [这个站点](http://www.wilkiecollins.demon.co.uk/roman/front.htm) 有关于罗马数字更多的内容,包括罗马人如何使用罗马数字的迷人 [历史](http://www.wilkiecollins.demon.co.uk/roman/intro.htm) (简言之:充满偶然性和反复无常)。 * 13.3. romantest.py 介绍 * [PyUnit 主页](http://pyunit.sourceforge.net/) 对于使用 [`unittest` 框架](http://pyunit.sourceforge.net/pyunit.html) 以及本章没能涵盖的高级特性有深入的讨论。 * [PyUnit FAQ](http://pyunit.sourceforge.net/pyunit.html) 解释了 [为什么测试用例要和被测试代码分开存放](http://pyunit.sourceforge.net/pyunit.html#WHERE) 。 * [_Python Library Reference_](http://www.python.org/doc/current/lib/) 总结了 [`unittest`](http://www.python.org/doc/current/lib/module-unittest.html) 模块。 * [ExtremeProgramming.org](http://www.extremeprogramming.org/) 讨论 [你为什么需要编写单元测试](http://www.extremeprogramming.org/rules/unittests.html)。 * [The Portland Pattern Repository](http://www.c2.com/cgi/wiki) 有一个持续的 [单元测试](http://www.c2.com/cgi/wiki?UnitTests) 讨论,包括了一个 [标准的定义](http://www.c2.com/cgi/wiki?StandardDefinitionOfUnitTest),为什么你需要 [首先开发单元测试代码](http://www.c2.com/cgi/wiki?CodeUnitTestFirst) 以及另外一些深层次 [案例](http://www.c2.com/cgi/wiki?UnitTestTrial)。 第 14 章 测试优先编程 第 15 章 重构 * 15.5. 小结 * [XProgramming.com](http://www.xprogramming.com/) 有多种语言的 [单元测试框架](http://www.xprogramming.com/software.htm) 的下载链接。 第 16 章 函数编程 第 17 章 动态函数 * 17.7. plural.py, 第 6 阶段 * [PEP 255](http://www.python.org/peps/pep-0255.html) 定义生成器。 * [Python Cookbook](http://www.activestate.com/ASPN/Python/Cookbook/ "growing archive of annotated code samples") 有[生成器的例子](http://www.google.com/search?q=generators+cookbook+site:aspn.activestate.com)。 第 18 章 性能优化 * 18.1. 概览 * [Soundexing and Genealogy](http://www.avotaynu.com/soundex.html) 给出了 Soundex 发展的年代表以及地域变化。