前言 Python是一门功能强大的编程语言,业务领域非常广阔,涉及系统脚本、嵌入式开发、网站开发、游戏实时服务器、人工智能、大数据等,同时Python拥有简洁易懂的语法,学习难度不高,很适合作为学习编程的第一门语言。 最近几年异步编程模型兴起,大部分常用的编程语言都在向异步编程模型这个方向演化,甚至系统级编程语言C++在C++2020的标准里也纳入了异步模型。当然Python也紧跟时代步伐支持了异步编程模型,在Python网站开发这个技术分支里已经涌现出了一系列的基于异步编程模型的框架,而一些老牌技术框架也开始逐步地支持异步编程,例如大名鼎鼎的Django在3.0版本以后支持了ASGI,这只是个开始,相信在随后的发展中它会全面支持异步编程。 从服务器利用率层面来讲,采用异步编程模型可以有效利用服务器的IO资源,将服务器的硬件能力发挥到最大程度,从而节省运维成本。从开发层面来讲,异步编程模型可以用更加清晰整洁的代码来表达异步逻辑,从而节省开发成本。 所以现在到了我们必须学习Python异步编程的时候了。 在工作中,一个普通程序员容易遇到职业瓶颈,能力得不到提升、薪资无法增长,其根本原因是只会用框架而不懂框架的实现原理,当网站发展得越来越大时会出现一些问题,如果普通程序员无法解决这些问题,当然不会有晋升的机会,所以本书在讲解框架时争取做到进得去出得来,在基础篇(第1~7章)里讲解Python异步IO的基础知识和常用Web框架,深入Web开发的细节,之后跳出来纵观全局,于实战篇(第8~9章)里讲解如何基于异步IO实现一个完整的全栈Web框架,并以一个完整的实战项目来融会贯通所讲过的知识。 为了更有利于读者学习与实践,笔者将尽最大可能保证本书中的每个代码片断可独立运行。完整代码可扫描下方二维码下载。 本书源代码下载 希望本书能够对读者学习Python异步IO编程技术有所帮助,并恳请读者批评指正。 陈少佳 2020年12月