前 言
欢迎各位读者打开本书
很高兴各位读者能够允许我们来帮助你们尽可能快、尽可能深入地学习Python。Core Python系列图书的目标不只是教会开发人员Python语言,我们还希望各位读者能够形成足够的知识库,从而能够开发任何应用领域的软件。
在其他的Core Python系列图书(Core Python Programming和Core Python Language Fundamentals)中,我们不仅向读者讲授Python语言的语法,还希望读者能够深入掌握Python的运行机制。我们相信,在具备了这些知识之后,无论你是Python语言的初学者还是资深程序员,都能够开发出更为高效的Python应用程序。
在学完任何其他入门类的Python图书之后,你可能觉得已经掌握了Python而且还觉得学得不错,并为此感到自豪。通过完成大量练习之后,你将会对自己新掌握的Python编程技能拥有更多信心。但是,你可能仍然会有这样的疑问,“现在该怎么办?我能用Python编写哪种类型的应用程序呢?”或许你是为了一个相当小众的工作项目而学习使用Python,你可能会考虑“我还能用Python写点其他的吗?”
关于本书
在本书中,你将会用到从其他地方学习到的所有Python知识,并培养新的技能,从而构建自己的工具箱。借助于该工具箱,你能够使用Python开发各种类型的应用程序。关于高级主题的章节旨在快速概述各种不同的主题。如果你开始转向这些章节中涵盖的特定应用开发领域,你将会发现它们不仅给出了正确的方向,还包含了更多的信息。但是不要期待有一个深入的解决方案,因为这有悖于本书的初衷—提供更为广泛的解决方案。
与其他所有Core Python图书一样,本书同样包含了许多示例,你可以在计算机上进行尝试。为了牢固掌握概念,你也会在每章最后发现有趣、有挑战性的练习。这些初级和中级难度的练习旨在测试你的知识掌握情况,提升你的Python技能。毕竟,没有什么可以替代实践经验。我们相信,你不仅能够学到很多Python编程技能,同时还能在尽可能短的时间内迅速掌握它们。
对我们来讲,扩展Python技能的最佳方式就是动手练习,因此你会发现这些练习是本书的一个最大优势。它们可以测试你对每章主题和定义的掌握情况,并激励你尽可能多地动手编程。除了自己编写应用程序之外,没有其他方法可以更有效地提升你的编程技能。你需要解决初级、中级和高级难度的编程问题。而且你应该需要编写一个大型的应用程序(这也是很多读者想要在本书中看到的),而不是采用一些脚本来实现。坦白说,你可能做得没有那么好,但是通过亲自动手实践,你的收获会更大。附录A给出了每章中某些练习的答案。附录B包含了一些有用的参考表。
感谢所有读者的反馈和鼓励,你们是我写作这些图书的动力。希望你们能继续给我发送反馈信息,并促使本书第4版尽快问世,而且其质量优于之前所有版本。
目 录
[第1部分 通用应用主题
第1章 正则表达式
1.1 简介/动机](https://yq.aliyun.com/articles/92841/)
1.2 特殊符号和字符
1.2.1 使用择一匹配符号匹配多个正则表达式模式
1.2.2 匹配任意单个字符
1.2.3 从字符串起始或者结尾或者单词边界匹配
1.2.4 创建字符集
1.2.5 限定范围和否定
1.2.6 使用闭包操作符实现存在性和频数匹配
1.2.7 表示字符集的特殊字符
1.2.8 使用圆括号指定分组
1.2.9 扩展表示法
1.3 正则表达式和Python语言
1.3.1 re模块:核心函数和方法
1.3.2 使用compile()函数编译正则表达式
1.3.3 匹配对象以及group()和groups()方法
1.3.4 使用match()方法匹配字符串
1.3.5 使用search()在一个字符串中查找模式(搜索与匹配的对比)
1.3.6 匹配多个字符串
1.3.7 匹配任何单个字符
1.3.8 创建字符集([ ])
1.3.9 重复、特殊字符以及分组
1.3.10 匹配字符串的起始和结尾以及单词边界
1.3.11 使用findall()和finditer()查找每一次出现的位置
1.3.12 使用sub()和subn()搜索与替换
1.3.13 在限定模式上使用split()分隔字符串
1.3.14 扩展符号
1.3.15 杂项
1.4 一些正则表达式示例
1.5 更长的正则表达式示例
1.5.1 匹配字符串
1.5.2 搜索与匹配……还有贪婪
1.6 练习
[第2章 网络编程
2.1 简介](https://yq.aliyun.com/articles/93040/)
2.2 客户端/服务器架构
2.2.1 硬件客户端/服务器架构
2.2.2 软件客户端/服务器架构
2.2.3 银行出纳员作为服务器吗
2.2.4 客户端/服务器网络编程
2.3 套接字:通信端点
2.3.1 套接字
2.3.2 套接字地址:主机-端口对
2.3.3 面向连接的套接字与无连接的套接字
2.4 Python中的网络编程
2.4.1 socket()模块函数
2.4.2 套接字对象(内置)方法
2.4.3 创建TCP服务器
2.4.4 创建TCP客户端
2.4.5 执行TCP服务器和客户端
2.4.6 创建UDP服务器
2.4.7 创建UDP客户端
2.4.8 执行UDP服务器和客户端
2.4.9 socket模块属性
2.5 *SocketServer模块
2.5.1 创建SocketServer TCP服务器
2.5.2 创建SocketServer TCP客户端
2.5.3 执行TCP服务器和客户端
2.6 *Twisted框架介绍
2.6.1 创建Twisted Reactor TCP服务器
2.6.2 创建Twisted Reactor TCP客户端
2.6.3 执行TCP服务器和客户端
2.7 相关模块
2.8 练习
第3章 因特网客户端编程
第4章 多线程编程
第5章 GUI编程
第6章 数据库编程
第7章 *Microsoft Office编程
第8章 扩展Python
第2部分 Web开发
第9章 Web客户端和服务器
第10章 Web编程:CGI和WSGI
第11章 Web框架:Django
第12章 云计算:Google App Engine
第13章 Web服务
第3部分 补充/实验章节
第14章 文本处理
第15章 其他内容
附录A 部分练习参考答案
附录B 参考表
附录C Python 3:一种编程语言进化的产物
附录D 利用Python 2.6+向Python 3迁移