定价:99元 出版时间:2016.6 出版社:人民邮电出版社
书 号 978-7-115-41477-9 页 数 520 印刷方式 黑白印刷 开 本 16开 出版状态 正在印刷 《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
1.1 简介/动机 3
1.2 特殊符号和字符 5
1.2.1 使用择一匹配符号匹配多个正则表达式模式 6
1.2.2 匹配任意单个字符 6
1.2.3 从字符串起始或者结尾或者单词边界匹配 7
1.2.4 创建字符集 8
1.2.5 限定范围和否定 8
1.2.6 使用闭包操作符实现存在性和频数匹配 9
1.2.7 表示字符集的特殊字符 10
1.2.8 使用圆括号指定分组 10
1.2.9 扩展表示法 11
1.3 正则表达式和Python语言 11
1.3.1 re模块:核心函数和方法 12
1.3.2 使用compile()函数编译正则表达式 13
1.3.3 匹配对象以及group()和groups()方法 14
1.3.4 使用match()方法匹配字符串 14
1.3.5 使用search()在一个字符串中查找模式(搜索与匹配的对比) 15
1.3.6 匹配多个字符串 16
1.3.7 匹配任何单个字符(.) 16
1.3.8 创建字符集([ ]) 17
1.3.9 重复、特殊字符以及分组 18
1.3.10 匹配字符串的起始和结尾以及单词边界 20
1.3.11 使用findall()和finditer()查找每一次出现的位置 21
1.3.12 使用sub()和subn()搜索与替换 22
1.3.13 在限定模式上使用split()分隔字符串 23
1.3.14 扩展符号 24
1.3.15 杂项 27
1.4 一些正则表达式示例 28
1.5 更长的正则表达式示例 33
1.5.1 匹配字符串 35
1.5.2 搜索与匹配……还有贪婪 37
1.6 练习 39
第2章 网络编程 42
2.1 简介 43
2.2 客户端/服务器架构 43
2.2.1 硬件客户端/服务器架构 43
2.2.2 软件客户端/服务器架构 44
2.2.3 银行出纳员作为服务器吗 44
2.2.4 客户端/服务器网络编程 45
2.3 套接字:通信端点 46
2.3.1 套接字 46
2.3.2 套接字地址:主机-端口对 47
2.3.3 面向连接的套接字与无连接的套接字 47
2.4 Python中的网络编程 48
2.4.1 socket()模块函数 49
2.4.2 套接字对象(内置)方法 49
2.4.3 创建TCP服务器 51
2.4.4 创建TCP客户端 54
2.4.5 执行TCP服务器和客户端 56
2.4.6 创建UDP服务器 58
2.4.7 创建UDP客户端 59
2.4.8 执行UDP服务器和客户端 60
2.4.9 socket模块属性 61
2.5 *SocketServer模块 62
2.5.1 创建SocketServer TCP服务器 63
2.5.2 创建SocketServer TCP客户端 64
2.5.3 执行TCP服务器和客户端 65
2.6 *Twisted框架介绍 66
2.6.1 创建Twisted Reactor TCP服务器 66
2.6.2 创建Twisted Reactor TCP客户端 67
2.6.3 执行TCP服务器和客户端 69
2.7 相关模块 69
2.8 练习 70
第3章 因特网客户端编程 74
3.1 因特网客户端简介 75
3.2 文件传输 75
3.2.1 文件传输因特网协议 75
3.2.2 文件传输协议 76
3.2.3 Python和FTP 77
3.2.4 ftplib.FTP类的方法 77
3.2.5 交互式FTP示例 78
3.2.6 客户端FTP程序示例 79
3.2.7 FTP的其他内容 80
3.3 网络新闻 81
3.3.1 Usenet与新闻组 81
3.3.2 网络新闻传输协议 82
3.3.3 Python和NNTP 83
3.3.4 nntplib.NNTP类方法 83
3.3.5 交互式NNTP示例 84
3.3.6 客户端程序NNTP示例 85
3.3.7 NNTP的其他内容 89
3.4 电子邮件 90
3.4.1 电子邮件系统组件和协议 90
3.4.2 发送电子邮件 91
3.4.3 Python和SMTP 92
3.4.4 smtplib.SMTP类方法 92
3.4.5 交互式SMTP示例 93
3.4.6 SMTP的其他内容 94
3.4.7 接收电子邮件 94
3.4.8 POP和IMAP 95
3.4.9 Python和POP3 95
3.4.10 交互式POP3示例 96
3.4.11 poplib.POP3类方法 97
3.4.12 客户端程序SMTP和POP3示例 98
3.4.13 Python和IMAP4 100
3.4.14 交互式IMAP4示例 100
3.4.15 imaplib.IMAP4类中的常用方法 101
3.5 实战 102
3.5.1 生成电子邮件 102
3.5.2 解析电子邮件 104
3.5.3 基于Web的云电子邮件服务 105
3.5.4 佳实践:安全、重构 106
3.5.5 Yahoo! Mail 108
3.5.6 Gmail 112
3.6 相关模块 115
3.6.1 电子邮件 115
3.6.2 其他因特网客户端协议 115
3.7 练习 116
第4章 多线程编程 122
4.1 简介/动机 123
4.2 线程和进程 124
4.2.1 进程 124
4.2.2 线程 124
4.3 线程和Python 125
4.3.1 全局解释器锁 125
4.3.2 退出线程 126
4.3.3 在Python中使用线程 126
4.3.4 不使用线程的情况 126
4.3.5 Python的threading模块 128
4.4 thread模块 128
4.5 threading模块 132
4.5.1 Thread类 133
4.5.2 threading模块的其他函数 139
4.6 单线程和多线程执行对比 140
4.7 多线程实践 142
4.7.1 图书排名示例 142
4.7.2 同步原语 149
4.7.3 锁示例 149
4.7.4 信号量示例 156
4.8 生产者-消费者问题和Queue/queue模块 159
4.9 线程的替代方案 162
4.9.1 subprocess模块 163
4.9.2 multiprocessing模块 163
4.9.3 concurrent.futures模块 163
4.10 相关模块 165
4.11 练习 165
第5章 GUI编程 168
5.1 简介 169
5.1.1 Tcl、Tk和Tkinter 169
5.1.2 安装和使用Tkinter 170
5.1.3 客户端/服务端架构 170
5.2 Tkinter和Python编程 170
5.2.1 Tkinter模块:添加Tk到应用中 171
5.2.2 GUI编程介绍 171
5.2.3 顶层窗口:Tkinter.Tk() 173
5.2.4 Tk控件 173
5.3 Tkinter示例 174
5.3.1 Label控件 174
5.3.2 Button控件 175
5.3.3 Label和Button控件 175
5.3.4 Label、Button和Scale控件 176
5.3.5 偏函数应用示例 178
5.3.6 中级Tkinter示例 180
5.4 其他GUI简介 185
5.4.1 Tk接口扩展(Tix) 187
5.4.2 Python MegaWidgets(PMW) 188
5.4.3 wxWidgets和wxPython 188
5.4.4 GTK+和PyGTK 190
5.4.5 Tile/Ttk 192
5.5 相关模块和其他GUI 194
5.6 练习 196
第6章 数据库编程 198
6.1 简介 199
6.1.1 持久化存储 199
6.1.2 数据库基本操作和SQL 199
6.1.3 数据库和Python 201
6.2 Python的DB-API 203
6.2.1 模块属性 203
6.2.2 Connection对象 205
6.2.3 Cursor对象 206
6.2.4 类型对象和构造函数 207
6.2.5 关系数据库 209
6.2.6 数据库和Python:适配器 210
6.2.7 使用数据库适配器的示例 210
6.2.8 数据库适配器示例应用 215
6.3 ORM 226
6.3.1 考虑对象,而不是SQL 227
6.3.2 Python和ORM 227
6.3.3 员工角色数据库示例 228
6.3.4 SQLAlchemy 229
6.3.5 SQLObject 240
6.4 非关系数据库 245
6.4.1 NoSQL介绍 245
6.4.2 MongoDB 246
6.4.3 PyMongo:MongoDB和Python 246
6.4.4 总结 250
6.5 相关文献 250
6.6 练习 252
第7章 *Microsoft Office编程 256
7.1 简介 257
7.2 使用Python进行COM客户端编程 257
7.2.1 客户端COM编程 258
7.2.2 入门 258
7.3 入门示例 259
7.3.1 Excel 259
7.3.2 Word 261
7.3.3 PowerPoint 262
7.3.4 Outlook 264
7.4 中级示例 266
7.4.1 Excel 266
7.4.2 Outlook 268
7.4.3 PowerPoint 273
7.4.4 总结 280
7.5 相关模块/包 281
7.6 练习 281
第8章 扩展Python 286
8.1 简介和动机 287
8.1.1 Python扩展简介 287
8.1.2 什么情况下需要扩展Python 288
8.1.3 什么情况下不应该扩展Python 288
8.2 编写Python扩展 289
8.2.1 创建应用代码 289
8.2.2 根据样板编写封装代码 291
8.2.3 编译 296
8.2.4 导入并测试 297
8.2.5 引用计数 300
8.2.6 线程和全局解释器锁 301
8.3 相关主题 302
8.3.1 SWIG 302
8.3.2 Pyrex 302
8.3.3 Cython 302
8.3.4 Psyco 303
8.3.5 PyPy 303
8.3.6 嵌入Python 304
8.4 练习 304
第2部分 Web开发
第9章 Web客户端和服务器 306
9.1 简介 307
9.1.1 Web应用:客户端/服务器计算 307
9.1.2 因特网 308
9.2 Python Web客户端工具 310
9.2.1 统一资源定位符 310
9.2.2 urlparse模块 312
9.2.3 urllib模块/包 313
9.2.4 使用urllib2 HTTP验证的示例 317
9.2.5 将HTTP验证示例移植到Python 3中 319
9.3 Web客户端 322
9.3.1 一个简单的Web爬虫/蜘蛛/机器人 322
9.3.2 解析Web页面 328
9.3.3 可编程的Web浏览 333
9.4 Web(HTTP)服务器 336
9.5 相关模块 339
9.6 练习 341
第10章 Web编程:CGI和WSGI 345
10.1 简介 346
10.2 帮助Web服务器处理客户端数据 346
10.2.1 CGI简介 346
10.2.2 CGI应用程序 347
10.2.3 cgi模块 348
深入探索 Python 的强大魔力:从入门到精通的蜕变之旅 在数字化浪潮席卷全球的今天,Python 以其简洁的语法、强大的库支持和广泛的应用领域,已成为编程界炙手可热的明星语言。无论你是初涉编程的新手,渴望掌握一门易学易用的语言,还是经验丰富的开发者,希望拓展技术栈,精进专业技能,Python 都能为你提供无限可能。而《Python核心编程(第3版)中文版》正是你踏上 Python 之旅,直至登峰造极的最佳向导。这本书,不仅仅是一本编程教程,更是一次深入 Python 内核,理解其设计哲学,掌握其精髓的系统性学习体验。 为什么选择 Python? Python 的魅力在于它的通用性。从 Web 开发、数据科学、人工智能到自动化脚本,再到桌面应用和游戏开发,Python 几乎无处不在。它的易读性让你能专注于解决问题本身,而非纠结于复杂的语法细节。庞大而活跃的社区意味着你总能找到支持和资源,丰富的第三方库更是能让你站在巨人的肩膀上,事半功倍。对于想要快速构建原型、实现创意的开发者来说,Python 绝对是首选。 《Python核心编程(第3版)中文版》的独特价值 本书并非简单地罗列 Python 的各种语法特性,而是以一种循序渐进、由浅入深的方式,引导读者全面理解 Python 的运作机制。它不仅仅关注“怎么做”,更深入探究“为什么这样做”,培养读者独立思考和解决问题的能力。 第一部分:Python 语言的基石——掌握核心概念 本书的开篇,将带领你穿越 Python 的基础世界。你将首先接触到 Python 的安装与配置,确保你的开发环境搭建无误。接着,你会深入理解 Python 的数据类型,包括数字、字符串、列表、元组、字典和集合。这些基本构建块是构建任何复杂程序的基础。你会学习如何有效地操作和转换这些数据,为后续的学习打下坚实基础。 变量的声明与赋值、运算符的运用,以及表达式的构建,都将通过清晰的示例得到阐述。你将掌握条件语句(if, elif, else)和循环语句(for, while)的使用,从而编写出能够根据不同情况做出判断和重复执行任务的程序。函数的定义与调用是代码复用和模块化的关键,本书会详细讲解函数参数的传递、作用域规则以及如何编写可重用的函数。 异常处理是编写健壮程序的必备技能。你将学习 `try-except` 块的使用,理解如何捕获和处理程序运行时可能出现的错误,避免程序崩溃,提升用户体验。模块和包的导入与使用,让你能够利用 Python 强大的标准库和第三方库,极大地提高开发效率。 第二部分:面向对象编程——构建更强大的程序 Python 是一门强大的面向对象编程(OOP)语言,掌握 OOP 思想是迈向更高级编程的关键一步。本书将详细介绍类的定义、对象的创建、属性和方法的访问。你将理解封装、继承和多态这三大 OOP 核心概念,并通过大量实例学会如何运用它们来设计和组织代码,构建更具可维护性和可扩展性的应用程序。 你会学习构造函数 (`__init__`)、析构函数 (`__del__`),以及类变量和实例变量的区别。继承允许你创建新的类,并在现有类的基础上添加新功能,这在代码复用方面具有不可估量的价值。多态性则允许不同类的对象对同一消息做出不同的响应,增加了程序的灵活性。 Python 独特的魔术方法(dunder methods),如 `__str__`、`__repr__`、`__len__` 等,将为你揭示 Python 底层的实现机制,并教你如何重载运算符,让你的对象行为更符合预期。 第三部分:Python 的高级特性——解锁更深层的力量 在掌握了基础和面向对象编程后,本书将带你进入 Python 的高级领域。生成器(generators)和迭代器(iterators)是 Python 中高效处理大规模数据的重要工具,它们允许你按需生成数据,节省内存。装饰器(decorators)是 Python 中一种优雅的元编程技术,可以让你在不修改原函数代码的情况下,为其添加额外的功能。 上下文管理器(context managers),通过 `with` 语句,能让你更安全、更便捷地管理资源,例如文件句柄或网络连接。正则表达式(regular expressions)是处理文本匹配和模式识别的利器,本书将帮助你掌握其强大的模式匹配能力。 列表推导式、字典推导式和集合推导式,为生成和转换序列提供了简洁而富有表现力的语法。你还将学习文件 I/O 操作,掌握如何读取和写入文件,处理各种文件格式。 第四部分:Python 的实践应用——从理论走向实战 本书的最后部分,将侧重于 Python 在实际开发中的应用。你将学习如何与数据库交互,掌握 SQL 语言,并学习使用 SQLAlchemy 等 ORM 工具,实现数据的持久化存储和高效管理。 对于 Web 开发,本书将为你提供坚实的基础。虽然书中不会直接教授某个具体的 Web 框架,但它会为你讲解构建 Web 应用所需的核心知识,例如 HTTP 协议、服务器端脚本的概念,以及如何处理客户端请求和生成响应。理解了这些底层原理,你将能够更轻松地学习和掌握 Flask、Django 等流行 Web 框架。 此外,你还将接触到多线程和多进程编程,了解如何利用并行处理来提高程序的性能。网络编程的基础知识,如套接字(sockets)的使用,将为你打开网络通信的大门。 不仅仅是代码,更是思维的升华 《Python核心编程(第3版)中文版》的强大之处在于,它不仅仅是一本关于“代码”的书,更是一本关于“如何思考”的书。书中大量的示例代码,经过精心设计,能够清晰地阐释每一个概念。每一章的练习题,都鼓励读者动手实践,巩固所学知识,并挑战自己解决实际问题。 本书的作者拥有丰富的教学和实践经验,他能够将复杂的技术概念以易于理解的方式呈现出来。其严谨的逻辑结构和清晰的行文风格,让你在阅读过程中能够保持专注,并能快速地找到所需信息。 总结 如果你渴望掌握一门在当今软件开发领域具有举足轻重地位的语言,如果你希望深入理解 Python 的工作原理,并能够构建出高质量、高效率的应用程序,那么《Python核心编程(第3版)中文版》绝对是你不可或缺的伴侣。它将陪伴你走过从新手到高手的蜕变之路,让你能够自信地应对各种编程挑战,并在快速发展的技术浪潮中,占据一席之地。准备好开启你的 Python 探索之旅了吗?这本书,就是你最好的起点。