1、 内 容 简 介 也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模、通用网络协议、后端并发处理、前端界面设计,在学术研究或工程项目上能独当一面。通过对 Python 3 及相关 Web 框架的学习和实践,你就可以成为这样的全能型人才。本书分为 3 篇:上篇是 Python 基础,带领初学者实践 Python 开发环境,掌握基本语法,同时对网络协议、Web 客户端技术、数据库建模编程等网络编程基础进行深入浅出的学习;中篇是 Python 框架,学习当前最流行的 Python Web 框架,即 Django、Tornado、Flask 和 Twisted,达到对各种 Python 网络
2、技术融会贯通的目的;下篇是 Python 框架实战,分别对 4 种框架进行项目实践,利用其各自的特点开发适用于不同场景的网络程序。本书内容精练、重点突出、实例丰富、讲解通俗,是广大网络应用设计和开发人员不可多得的一本参考书。本书非常适合大中专院校师生学习和阅读,也可作为计算机培训机构的教材。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Python 高效开发实战:Django、Tornado、Flask、Twisted刘长龙著.2 版.北京:电子工业出版社,2019.1 ISBN 978-7-121-35506-6 .P .刘 .软件工
3、具程序设计 .TP311.561 中国版本图书馆 CIP 数据核字(2018)第 252490 号 责任编辑:汪达文 印 刷:中国电影出版社印刷厂 装 订:三河市良远印务有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:32.25 字数:710 千字 版 次:2016 年 10 月第 1 版 2019 年 1 月第 2 版 印 次:2019 年 1 月第 1 次印刷 定 价:99.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)8825488
4、8,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)51260888-819,。前 言 有些人想学 Python,却不知如何下手;有些人已经学会 Python 的基本语法,却不知如何使用 Python 进行网站设计和开发;有些人实践过个别 Python 网络框架,却因为 Python 框架过多而无法融会贯通。本书就是为他们准备的一本指南。正所谓知识来源于实践,本书严格遵守这一原则,对每个知识点都进行了示例分析,并在 Python 框架实战篇精选了 4 个不同应用场景的网络项目,帮助读者真正掌握和运用 Python 3 及其相关框架。改版说明 相较于
5、第 1 版,本版有如下改进。(1)基于 Python 3.7 版本。(2)四大框架的版本更新。?Django 修订为基于 Python 3 的 Django 2。?Tornado 修订为基于 Python 3 的 Tornado 5。?Flask 修订为基于 Python 3 的 Flask 1.0.2。?Twisted 修订为基于 Python 3 的 Twisted 18。(3)根据第 1 版的读者反馈,修订了一些印刷错误和描述有歧义的地方。(4)书中对 Python 2 与 Python 3 的关联与不同都做了说明,零基础的读者阅读后可以同时具备这两种 Python 版本的编程能力和代码
6、阅读能力。(5)对描述中的一些语法相关的单词,规范了英文大小写,与代码中的大小写保持一致。Python 高效开发实战Django、Tornado、Flask、Twisted(第 2 版)?IV?为什么要读这本书 如果你不知道本书能否帮到你,或者你不知道是否要选择本书,那么请先想想在平时的学习或工作中是否遇到过下列问题:?有一个很好的设计网站的想法,想用 Python 实现却无从下手;?刚学习了编程语言的 if、for、while 等各种语法,却不知道利用编程语言到底能做些什么;?精通 C、C+等后台编程语言,却跟不上互联网蓬勃发展的新技术;?学了美工画图、网页设计,却不懂数据库和网站搭建;?觉
7、得 Django、Tornado、Flask、Twisted 框架的在线资料过于晦涩难懂;?知道各种 Python Web 框架,却不知道自己的项目适合哪一种;?学过 W3CSchool 中的 Python 课程,却不知道如何使用框架提高开发效率;?会开发网站程序,却不知道如何集成 Nginx 等 Web 服务器;?听说过 SSL,让自己的网站支持 HTTPS/SSL 却力不从心;?学过网络编程,却还是不知道 IPv6 和 IPv4 的区别;?会网络数据库开发,却分不清楚 PostgreSQL、SQLite、Oracle、MySQL、SQL Server 的区别;?不知道网络流量大的网站使用什
8、么框架开发最好。如果其中有些是你困惑的,那么本书也许能帮到你;如果通过学习本书能帮你解决实际问题,那么笔者也就实现了写作本书的目标。本书的编写特点 1零基础要求 在学习本书之前不需要具备任何计算机专业背景,任何有志于 Python 及 Web 站点设计的读者都能利用本书从头学起。本书在基础和实践部分都有大量实例,代码精练,紧扣所讲要点,以加深读者的印象;同时结合笔者多年使用 Python 语言的开发经验,阐述了很多代码编写技巧,读者可将代码复制到自己的机器上进行实践和演练。2合理的章节安排 本书首先讲解了 Python 编程语言基础、网络和数据库基础、前端页面基础等,然后详细讲解了 Djang
9、o、Tornado、Flask、Twisted 这四大主流的 Python Web 开发框架,最后通过项目实前言?V?践帮助读者综合运用之前学到的知识。3最新的框架版本 主流 Python Web 框架都是开源软件,并且仍随着计算机软硬件的进步不断发展,所以使用Python 框架的开发者必须紧跟最新的框架版本!本书讲解的 4 个 Web 框架都使用基于 Python 3的最新版本,读者能马上将其运用在当前开发环境中。这是一本内容新颖、全面的 Python Web框架应用实战教材。4内容全面 本书使得 Python 开发者不再局限于某个 Web 框架,一起学习这些框架有助于在学习的过程中举一反三
10、。读者学完本书可以成为 Python Web 编程方面的集大成者,对不同网络应用场景的设计和开发都能做到得心应手。5中小示例、项目案例,一个都不能少 根据笔者多年的项目经验,本书将典型的示例与知识点加以整合,让读者对每章的知识点都能整体把握。最后 4 章介绍的项目案例不仅可以让读者在实际应用中更加熟练地掌握前面讲到的知识点,而且能让读者了解前端开发中由轮廓到细节的完整实现流程。本书以 Python Web 实战为主,所有代码均通过了上机调试,力求让读者学得懂、练得会。本书的内容安排 本书共 3 篇 13 章,内容覆盖编程基础、Web 框架详解及开发实战。上篇(第 14 章)打好 Python
11、基础 系统学习 Python 编程语言,并且掌握进行网络开发必备的网络基础、数据库设计、HTML、CSS、JavaScript 等知识。本篇不仅适合新手学习,而且对有经验的开发者同样适用。中篇(第 59 章)详解主流 Python Web 框架 详细讲述 Django、Tornado、Flask、Twisted 四大主流 Python Web 框架,在其中穿插学习Python 虚环境、Nginx 服务器、SQLAlchemy、HTML 模板、HTML 5、WebSocket 等通用组件和技术。站在框架这个巨人的肩膀上,我们不仅可以提高开发效率,而且可以实现多人协同、风格统一。Python 高效
12、开发实战Django、Tornado、Flask、Twisted(第 2 版)?VI?下篇(第 1013 章)实战项目 分别用四大主流框架开发不同类型的网站项目应用,模拟场景覆盖社交网站、聊天室、信息管理系统、物联网消息网关等各个方面,在其中还加入了 JavaScript、CSS、jQuery、Bootstrap等前端关键技术的应用,使得读者通过深入浅出的学习和实践成为全能开发者。笔者按照自身近 20 年的学习和开发经验编排了本书的章节顺序,因此推荐按顺序从第 1章学习到第 13 章,尤其不能遗漏 Python 基础篇的内容。时间特别紧迫或者只想精通个别 Python Web框架的读者,可以在
13、阅读Python基础篇后直接阅读所需框架在其他两篇中的相应部分内容。本书知识点图 本书的目标读者?Python 编程技术爱好者。?Django、Tornado、Flask、Twisted 项目参与者。?网站设计人员。?网站开发人员。?Web 前端开发入门者。?想由网页设计拓展为后台开发的设计者。?由单机软件开发转向 Web 开发的技术人员。?全栈开发人员。前言?VII?大中专院校的学生及各种 IT 培训学校的学生。?希望自己动手设计站点原型的需求分析人员。编者推荐 本书的写作目的是确保读者能运用一些工具、框架、已有代码来提高开发效率、节约人力成本,确保读者能活学活用本书所讲解的内容。通过阅读本
14、书,读者能知道如何设计一个网站、如何选择 Python Web 框架,以及如何使用框架快速开发应用。全书包含大量的实战案例和开发技巧,总结了使用 Python 进行 Web 开发时的优秀实践(Django、Tornado、Flask、Twisted、SQLAlchemy、Nginx、JavaScript、jQuery),讨论了各种实际问题的解决方案,是目前市场上全面介绍 Python Web 开发的书籍。致谢 笔者要把本书献给笔者的父母、岳父母、妻子和孩子,感谢他们一直鼓励笔者,没有他们的支持,笔者无法做到这一切;还要感谢笔者的朋友和同事,感谢他们不断地鼓励和帮助笔者。笔者非常幸运,能够和这些
15、聪明、努力的人一起工作和交流。读者服务 轻松注册成为博文视点社区用户(),扫码直达本书页面。?下载资源:本书如提供示例代码及资源文件,均可在 下载资源 处下载。?提交勘误:您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。?交流互动:在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。页面入口:http:/ 目 录 上篇 Python 基础 第 1 章 Python 基础知识.2 1.1 Python 综述.3 1.1.1 了解 Python 的特性及版本.3 1.1.2 安装 Python.5 1
16、.1.3 使用 Python 原生编辑器.8 1.1.4 使用 Eclipse 开发环境.9 1.1.5 Python 编程入门解决“斐波那契数列”问题.14 1.2 数据类型.17 1.2.1 Number 类型.17 1.2.2 Sequence 类型簇.21 1.2.3 string 与 bytes.23 1.2.4 tuple 类型.30 1.2.5 list 类型.31 1.2.6 set 类型.32 1.2.7 dict 类型.35 1.3 流程控制.37 1.3.1 程序块与作用域.37 1.3.2 判断语句.38 1.3.3 循环语句.40 1.3.4 语句嵌套.42 1.4 函数.43 1.4.1 定义与使用.43 1.4.2 变长参数.45 1.4.3 匿名函数.47 目录?IX?1.5 异常.49 1.5.1 处理异常.49 1.5.2 自定义异常.51 1.6 面向对象编程.52 1.6.1 什么是面向对象.52 1.6.2 类和对象.54 1.6.3 继承.61 1.7 本章总结.64 第 2 章 Web 编程之网络基础.65 2.1 TCP/IP 网络.66