天天看点

《Python核心编程(第3版)》——导读

《Python核心编程(第3版)》——导读

欢迎各位读者打开本书

很高兴各位读者能够允许我们来帮助你们尽可能快、尽可能深入地学习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章 正则表达式

<a href="https://yq.aliyun.com/articles/92969/">1.2 特殊符号和字符</a>

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 扩展表示法

<a href="https://yq.aliyun.com/articles/93010/">1.3 正则表达式和python语言</a>

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 杂项

<a href="https://yq.aliyun.com/articles/93020/">1.4 一些正则表达式示例</a>

<a href="https://yq.aliyun.com/articles/93031/">1.5 更长的正则表达式示例</a>

1.5.1 匹配字符串

1.5.2 搜索与匹配……还有贪婪

<a href="https://yq.aliyun.com/articles/93034/">1.6 练习</a>

[第2章 网络编程

<a href="https://yq.aliyun.com/articles/93047/">2.2 客户端/服务器架构</a>

2.2.1 硬件客户端/服务器架构

2.2.2 软件客户端/服务器架构

2.2.3 银行出纳员作为服务器吗

2.2.4 客户端/服务器网络编程

<a href="https://yq.aliyun.com/articles/93054/">2.3 套接字:通信端点</a>

2.3.1 套接字

2.3.2 套接字地址:主机-端口对

2.3.3 面向连接的套接字与无连接的套接字

<a href="https://yq.aliyun.com/articles/93073/">2.4 python中的网络编程</a>

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模块属性

<a href="https://yq.aliyun.com/articles/93088/">2.5 *socketserver模块</a>

2.5.1 创建socketserver tcp服务器

2.5.2 创建socketserver tcp客户端

2.5.3 执行tcp服务器和客户端

<a href="https://yq.aliyun.com/articles/93096/">2.6 *twisted框架介绍</a>

2.6.1 创建twisted reactor tcp服务器

2.6.2 创建twisted reactor tcp客户端

2.6.3 执行tcp服务器和客户端

<a href="https://yq.aliyun.com/articles/93098/">2.7 相关模块</a>

<a href="https://yq.aliyun.com/articles/93103/">2.8 练习</a>

第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迁移