导语
内容提要
本书是《“笨办法”学Python 3》一书的进阶篇,《“笨办法”学Python 3》介绍了用Python 3编程的基础知识,而本书则通过52个精心设计的习题帮助读者超越基础,提升水平。这52个习题大部分都结合实际演示,并配有附加挑战,每个习题都可以帮读者掌握一项关键的实践技能,包括使用文本编辑器管理复杂的项目、利用功能强大的数据结构、应用算法处理数据结构、掌握必要的文本分析和处理技术、使用SQL有效且合逻辑地建模存储数据,以及学习强大的命令行工具等。本书旨在帮助读者从单纯地编写能运行的代码跨越到编写能解决实际问题的高质量Python代码,成为一名高阶的Python程序员。
本书适合所有已经开始使用Python的技术人员,包括初级开发人员和已经升级到Python 3.6版本以上的经验丰富的Python程序员。
作者简介
泽德·A.肖(Zed A.Shaw) 是《“笨办法”学Python(第3版)》《“笨办法”学Python 3》《“笨办法”学Ruby(第3版)》《“笨办法”学C语言》等多本备受欢迎的技术书的作者,他的书在全世界有数百万读者。他还是诸多开源项目的创建者,拥有近20年的编程和写作经验。他大部分空闲时间致力于绘画和艺术史的研究。
目录
第一部分 准备知识
如果不喜欢作者的个人流程怎么办
如果发现自己太糟糕怎么办
习题0 准备工作
程序员用的编辑器
Python 3.6
工作终端
pip和virtualenv的配置
实验笔记
GitHub账号
git
可选:录屏软件
进一步研究
习题1 论流程
习题挑战
巩固练习
进一步研究
习题2 论创新
习题挑战
巩固练习
习题3 论质量
习题挑战
巩固学习
第二部分 快速实现
如何练习创新
为新手准备的流程
新手的写代码流程
习题4 处理命令行参数
习题挑战
答案
巩固练习
习题5 cat
习题挑战
答案
巩固练习
进一步研究
习题6 find
习题挑战
巩固练习
进一步研究
习题7 grep
习题挑战
巩固练习
进一步研究
习题8 cut
习题挑战
巩固练习
进一步研究
习题9 sed
习题挑战
巩固练习
进一步研究
习题10 sort
习题挑战
巩固练习
进一步研究
习题11 uniq
习题挑战
巩固学习
进一步研究
习题12 复习
习题挑战
巩固练习
进一步研究
第三部分 数据结构
通过数据结构学习质量
如何学习数据结构
习题13 单链表
描述
控制器
测试
审计概述
习题挑战
审计
巩固练习
习题14 双链表
介绍不变条件
习题挑战
巩固练习
习题15 栈和队列
习题挑战
破坏代码
进一步研究
习题16 冒泡排序、快速排序和归并排序
习题挑战
冒泡排序
归并排序
归并排序的作弊模式
快速排序
巩固练习
习题17 字典
习题挑战
创建“代码的原版副本”
复制代码
注解代码
总结数据结构
记住总结
凭借记忆实现
重复
巩固练习
破坏代码
习题18 测量性能
工具
timeit
cProfile和profile
分析性能
习题挑战
巩固练习
破坏代码
进一步研究
习题19 提高性能
习题挑战
进一步研究
习题20 二叉查找树
二叉查找树必备知识
删除
习题挑战
巩固练习
习题21 二分搜索
习题挑战
巩固练习
进一步研究
习题22 后缀数组
习题挑战
巩固练习
进一步研究
习题23 三叉查找树
习题挑战
巩固练习
习题24 快速URL搜索
习题挑战
巩固练习
进一步研究
第四部分 中阶项目
跟踪代码缺陷
习题25 xargs
习题挑战
巩固练习
习题26 hexdump
习题挑战
巩固练习
进一步研究
习题27 tr
习题挑战
45分钟工作时间段的利弊
巩固练习
习题28 sh
习题挑战
巩固练习
进一步研究
习题29 diff和patch
习题挑战
巩固练习
进一步研究
第五部分 解析文本
介绍代码覆盖率
习题30 有限状态机
习题挑战
巩固练习
进一步研究
习题31 正则表达式
习题挑战
巩固练习
进一步研究
习题32 扫描器
运行Python扫描器
习题挑战
巩固练习
进一步研究
习题33 解析器
递归下降解析
BNF文法
解析器快速演示
习题挑战
巩固练习
进一步研究
习题34 分析器
访问者模式
短小的Puny Python分析器
解析器和分析器的对比
习题挑战
巩固练习
进一步研究
习题35 解释器
解释器和编译器的对比
Python两者皆是
如何写解释器
习题挑战
巩固练习
进一步研究
习题36 简单计算器
习题挑战
巩固练习
进一步研究
习题37 小小BASIC
习题挑战
巩固练习
第六部分 SQL和对象关系映射
理解SQL就是理解表
你将学到什么
习题38 SQL简介
什么是SQL
准备工作
学习SQL术语
SQL文法
进一步研究
习题39 SQL的创建操作
创建表
创建多表数据库
插入数据
插入参考数据
习题挑战
进一步研究
习题40 SQL的读取操作
跨表选择行
习题挑战
进一步研究
习题41 SQL的更新操作
更新复杂数据
替换数据
习题挑战
进一步研究
习题42 SQL的删除操作
使用别的表进行删除
习题挑战
进一步研究
习题43 SQL管理
删除和修改表
迁移和数据演化
习题挑战
进一步研究
习题44 使用Python的数据库API
学习API
习题挑战
进一步研究
习题45 创建ORM
习题挑战
进一步研究
第七部分 终极项目
你的流程是什么
习题46 博客
习题挑战
巩固练习
习题47 bc
习题挑战
巩固练习
习题48 ed
习题挑战
巩固练习
习题49 sed
习题挑战
巩固练习
习题50 vi
习题挑战
巩固练习
习题51 lessweb
习题挑战
破坏代码
巩固练习
习题52 moreweb
习题挑战
破坏代码
进一步研究