# CorePython **Repository Path**: Nidhogg14/CorePython ## Basic Information - **Project Name**: CorePython - **Description**: Python核心编程.第3版【随书代码】 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-30 - **Last Updated**: 2023-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, study ## README # CorePython Python核心编程源码(第3版) ## 内容提要 本书是经典畅销图书《Python 核心编程(第二版)》的全新升级版本,总共分为 3 部分。 第 1 部分讲解了 Python 的一些通用应用,包括正则表达式、网络编程、Internet 客户端编程、 多线程编程、GUI 编程、数据库编程、Microsoft Office 编程、扩展 Python 等内容。第 2 部分 讲解了与 Web 开发相关的主题,包括 Web 客户端和服务器、CGI 和 WSGI 相关的 Web 编程、 Django Web 框架、云计算、高级 Web 服务。第 3 部分则为一个补充/实验章节,包括文本处 理以及一些其他内容。 ## 本书适合具有一定经验的 Python 开发人员阅读。 ### 第 1 部分:通用应用主题 #### 第 1 章——正则表达式 正则表达式是一种功能强大的工具,它可以用来进行模式匹配、提取、查找和替换。 #### 第 2 章——网络编程 如今许多应用都是面向网络的。该章将介绍如何使用 TCP/IP 与 UDP/IP 来创建客户端和 服务器,以及如何快速入门 SocketServer 和 Twisted。 #### 第 3 章——因特网客户端编程 如今在用的大多数 Internet 协议都是使用套接字开发的。该章将探究一些用来构建 Internet 协议客户端的高级库。该章重点讨论的是 FTP、Usenet 消息协议(NNTP)以及各种 E-mail 协议(SMTP、POP3 及 IMAP4)。 #### 第 4 章——多线程编程 多线程编程是一种通过引入并发来提升多种应用程序执行性能的方式。该章通过解释概 念并展示正确创建 Python 多线程应用程序的方法、什么是最佳用例来讲解如何在 Python 中 实现线程。 #### 第 5 章——GUI 编程 Tkinter(在 Python 3 中重名为 tkinter)以 Tk 图形工具包为基础,是 Python 中的默认 GUI 开发库。该章通过演示如何创建简单的 GUI 应用来介绍 Tkinter。一种最佳的学习方式是复制, 并在某些应用的顶层进行创建,这样可以很快上手。该章最后简要讨论其他图形库,比如 Tix、 Pmw、wxPython、PyGTK 和 Ttk/Tile。 #### 第 6 章——数据库编程 Python 也有助于简化数据库编程。该章首先回顾一些基本概念,然后介绍 Python 数据库 应用编程接口(DB-API)。随后介绍如何使用 Python 连接到关系数据库,并执行查询和操作。 如果你更喜欢使用结构化查询语言(SQL)的放手管理方法(hands-off approach),而且只是 想在无须考虑底层数据库层的情况下处理对象,则可以使用对象-关系映射。最后,该章以 MongoDB 作为 NoSQL 示例介绍了非关系数据库。 #### 第 7 章——Microsoft Office 编程 无论喜欢与否,我们都生活在一个不得不和 Microsoft Windows PC 打交道的世界。我们可 能偶尔与它们打交道,也可能每天都要接触到它们,但是无论处于哪种情况下,都可以使用 Python 的强大功能来让生活更轻松一些。该章将探究使用 Python 来编写 COM 客户端,以控制 Office 应用程序(比如 Word、Excel、PowerPoint 和 Outlook)并与它们进行通信。尽管该章在 本书之前版本中是实验章节,但是我们很高兴能够为其添加足够的内容,使其单独成章。 #### 第 8 章——扩展 Python 前面提到,能够重用代码并对语言进行扩展将具有相当强大的功能。在纯 Python 中,这 些扩展是模块和包,但是你也可以使用 C/C++、C#或 Java 来开发底层的代码。这些扩展能够 以无缝方式与 Python 相接。用低级编程语言来编写自己的扩展可以提升性能,并增强安全性 (因为源代码没有必要泄露)。该章讲解使用 C 语言来开发扩展的整个过程。 ### 第 2 部分:Web 开发 #### 第 9 章——Web 客户端和服务器 该章将扩展第 2 章讨论的客户端/服务器架构,我们将这一概念应用到 Web 上。该章不 仅探究客户端,还介绍用来解析 Web 内容的各种 Web 客户端工具。最后,该章介绍如何使 用 Python 来定制自己的 Web 服务器。 #### 第 10 章——Web 编程:CGI 和 WSGI Web 服务器的主要工作是接受客户端的请求,然后返回结果。但是服务器如何获得 客户端的请求数据呢?由于服务器只擅长返回结果,因此它们通常没有获取数据的能力或 逻辑,于是这个工作需要在他处完成。CGI 给了服务器生成另外一个程序的能力,让这个 程序来进行数据处理(长久以来一直也是这么做的),但是该程序不具备扩展性,因此并 不会在实践中使用。但是,无论使用的是什么框架,这一概念仍然适用,因此我们将用一 章的篇幅来学习 CGI。该章介绍 WSGI 如何通过通用编程接口来为应用开发人员提供帮 助。此外,该章还将介绍当框架开发人员需要在一端连接 Web 服务器而应用程序的代码 放在另外一端时,WSGI 如何提供帮助,以便应用开发人员能够在无须担心执行平台的情 况下编写代码。 #### 第 11 章——Web 框架:Django Python 有很多 Web 框架,Django 是其中最为流行的一个。该章介绍这个框架,然后介 绍如何编写简单的 Web 应用。在具备了这些知识后,你可以自行研究其他 Web 框架。 #### 第 12 章——云计算:Google App Engine 云计算在 IT 业界引发了轰动。尽管像 Amazon 的 AWS 这样的基础设施服务和 Gmail、 Yahoo!Mail 这样的在线应用等在当今世界中更为常见,但是有很多平台凭借其强大的功能, 成为这些服务的替代者。这些平台充分利用了基础设施,无须用户介入,而且要比云软件具有 更多的灵活性,原因是你可以自行控制应用及其代码。该章全面介绍使用 Python 的第一个平 台服务——Google App Engine。在掌握了该章的内容后,你可以探讨该章介绍的其他类似服务。 #### 第 13 章——Web 服务 该章介绍 Web 上的高级服务(使用 HTTP)。该章先介绍一个较为古老的服务(Yahoo! Finance),然后再给出一个较新的服务(Twitter)。该章讨论如何使用 Python 以及前面学到的 知识来与这些服务进行交互。 ### 第 3 部分:补充/实验章节 #### 第 14 章——文本处理 这是本书的第一个补充章节,它介绍使用 Python 来处理文本的方法。该章先介绍 CSV, 然后是 JSON,最后是 XML。在该章最后一节,我们将前面学到的客户端/服务器知识融合到 XML 中,以查看如何使用 XML-RPC 来创建在线的远程过程调用(RPC)。 #### 第 15 章——其他内容 该章包含一些附加材料,这些内容可能会在本书下一版中成为单独的章节。该章讨论的 主题包含 Java/Jython 和 Google+。