第1章 搭建开发环境实战
1.1 安装Python环境
范例01-01:在Windows系统中下载并安装Python
范例01-02:在Mac OS系统中下载并安装Python
范例01-03:在Linux系统中下载并安装Python
1.2 安装开发工具
范例01-04:使用Python自带工具IDLE
范例01-05:安装Pycharm
范例01-06:安装Eclipse
范例01-07:安装Visual Studio 2017
1.3 编写并运行Python程序
范例01-08:使用IDLE编写并运行Python程序
范例01-09:使用命令行运行Python程序
范例01-10:交互式运行Python程序
范例01-11:使用Pycharm编写并运行Python程序
范例01-12:使用:Eclipse编写并运行Python程序
范例01-13:使用Visual Studio 2017编写并运行Python
第2章 基础语法实战
2.1 数据结构
范例02-01:创建数字列表
范例02-02:访问列表中的值
范例02-03:删除列表中的重复元素并保持顺序不变
范例02-04:找出列表中出现次数最多的元素
范例02-05:定义一个排序类
范例02-06:使用列表推导式
范例02-07:命名切片操作
2.2 使用元组
范例02-08:创建并访问元组
范例02-09:修改元组的值
范例02-10:删除元组
范例02-11:使用内置方法操作元组
范例02-12:将序列分解为单独的变量
范例02-13:将序列分解为单独的变量
范例02-14:实现优先级队列
2.3 使用字典
范例02-15:创建并访问字典
范例02-16:向字典中添加数据
范例02-17:修改字典中的数据
范例02-18:删除字典中的元素
范例02-19:映射多个值
范例02-20:使用OrderedDict类创建有序字典
范例02-21:获取字典中的最大值和最小值
范例02-22:获取两个字典中的相同键值对
范例02-23:使用函数itemgetter()对字典进行排序
范例02-24:使用字典推导式
范例02-25:根据记录进行分组
范例02-26:转换并换算数据
范例02-27:将多个映射合并为单个映射
2.4 变量
范例02-28:实现变量赋值
范例02-29:使用局部变量
范例02-30:使用全局变量
范例02-31:体验关键字global的作用
范例02-32:定义常量功能类_const
2.5 分支语句和循环流程控制
范例02-33:使用条件语句判断年龄
范例02-34:使用for循环遍历单词“Python”中的各个字母
范例02-35:使用range()循环输出了列表中的元素
范例02-36:循环输出10~20之间各个数是否是质数
范例02-37:获取两个整数之间的所有素数
范例02-38:打印小九九乘法表
范例02-39:使用while循环输出整数0到4
范例02-40:while循环语句的死循环问题
范例02-41:输出了10以内的所有素数
范例02-42:在for循环和while循环中使用break语句
范例02-43:在for循环和while循环中使用continue语句
范例02-44:输出指定英文单词中的每个英文字母
2.6 函数
范例02-45:使用函数计算元组内元素的和
范例02-46:创建了一个可以接受任意数量参数的函数
范例02-47:减少函数的参数
范例02-48:家政公司的打扫服务
2.7 类和对象
范例02-49:创建并使用类和对象
范例02-50:定义并使用类方法
范例02-51:我的宠物狗
范例02-52:使用属性函数创建可以扩展功能的属性
范例02-53:使用延迟属性lazyproperty实现延迟初始化
范例02-54:在宝马汽车中使用继承
范例02-55:在子类中扩展属性
范例02-56:模仿Linux系统中的文件读写接口
2.8 迭代器和生成器
范例02-57:创建并使用迭代器
范例02-58:创建并使用生成器
范例02-59:实现委托迭代处理
范例02-60:使用生成器创建新迭代模式
范例02-61:使用生成器函数实现一个迭代协议
范例02-62:使用函数reversed()实现反转迭代
范例02-63:实现有额外状态的生成器函数
范例02-64:实现迭代器切片处理
范例02-65:迭代出所有可能的组合
范例02-66:使用函数enumerate()迭代序列
范例02-67:使用函数zip()或zip_longest()迭代多个序
第3章标准库函数实战
3.1 字符串处理函数
范例03-01:使用函数split()分割了指定的字符串
范例03-02:使用函数re.split()分割指定字符串
范例03-03:字符串开头和结尾处理
范例03-04:实现字符串匹配处理
范例03-05:文本模式匹配和查找
范例03-06:文本查找和替换
范例03-07:实现最短文本匹配
范例03-08:处理Unicode文本
范例03-09:删除字符串中的字符
范例03-10:字符过滤和清理
范例03-11:字符串对齐处理
范例03-12:字符串连接和合并
范例03-13:重新格式化字符串
范例03-14:在字符串中处理HTML和XML
范例03-15:在字节串中处理文本
3.2 文件和IO处理函数
范例03-16:刷新缓冲区
范例03-17:检测文件是否连接到一个终端设备
范例03-18:使用函数next()返回文件各行内容
范例03-19:返回文件3个字的节内容
范例03-20:使用函数readlines()返回文件中所有行
范例03-21:重复读取文件中的第1行内容
范例03-22:获取当前文件位置
范例03-23:截取文件中前3个字符
范例03-24:向文件中写入多行字符串
范例03-25:获取文件操作权限
范例03-26:修改当前工作目录到指定路径
范例03-27:修改文件或目录的权限
范例03-28:遍历显示某个目录中所有文件夹和文件列表
范例03-29:修改一个目录名字
范例03-30:读取两个文本文件内容
范例03-31:字符串I/O 操作
范例03-32:读写操作压缩文件
范例03-33:二进制文件的内存映射
范例03-34:检测某个文件或目录是否存在
范例03-35:获取某个目录中的文件列表信息
范例03-36:获取目录的详细信息
范例03-37:设置文件的编码格式
范例03-38:使用tempfile模块创建临时文件
范例03-39:使用pickle模块实现数据序列化和持久化
3.3 数字处理函数
范例03-40:使用函数abs()返回数字绝对值
范例03-41:返回最小整数值
范例03-42:返回参数指数值
范例03-43:返回参数的绝对值
范例03-44:返回指定数字的下舍整数
范例03-45:计算指定数字自然对数
范例03-46:计算指定数字自然对数
范例03-47:获取参数中的最大值
范例03-48:获取参数中的最大值
范例03-49:获取参数的整数部分和小数部分
范例03-50:计算xy(x的y次方)的结果值
范例03-51:计算指定数字四舍五入值
范例03-52:使用格式化方式设置数字精度
范例03-53:计算指定数字的平方根
范例03-54:分别实现无穷大和NaN(不是数字)验证处理
范例03-55:使用decimal模块实现精确运算
范例03-56:处理二进制、八进制和十六进制数据
范例03-57:实现复数运算
范例03-58:使用fractions模块处理分数
范例03-59:使用NumPy模块处理数组
范例03-60:使用函数choice()创建随机数
3.4 日期和时间函数
范例03-61:使用函数time.clock()处理时间
范例03-62:用函数time.tzset()操作时间
范例03-63:使用Calendar日历模块
范例03-64:使用类date的实例方法和属性实现日期操作
范例03-65:使用类time实现日期操作
范例03-66:使用类datetime实现日期操作
范例03-67:使用类datetime格式化日期
范例03-68:使用类datetime实现时间换算
范例03-69:获取某个周几的日期
范例03-70:输出当月每一天的日期
范例03-71:循环输出当月每一天的日期
范例03-72:将字符串转换为日期
范例03-73:使用pytz模块设置时区
范例03-74:使用模块dateutil操作时间
第4章进程通信和联网操作实战
4.1 使用socket网络接口库
范例04-01:分别创建一个简单地socket服务器端和客户端
范例04-02:使用socket建立TCP“客户端/服务器”连接
范例04-03:TCP“客户端/服务器”模式的机器人聊天程序
范例04-04:实现一个文件上传系统
范例04-05:使用socket建立UDP“客户端/服务器”连接
4.2 实现安全套接字编程
范例04-06:创建SSL Socket连接
范例04-07:实现客户端和服务器端SSL安全交互
4.3 实现多路I/O复用
范例04-08:使用select同时监听多个端口
范例04-09:模拟多线程并实现读写分离
范例04-10:使用select实现一个可并发的服务端
范例04-11:在Linux系统中实现一个可并发的服务端
范例04-12:实现高级I/O多路复用
4.4 实现异步I/O处理
范例04-13:使用asyncio实现Hello world代码
范例04-14:使用asyncio获取新浪、搜狐和网易的首页信息
范例04-15:以动画的方式显示文本式旋转指针
4.5 实现异步套接字处理
范例04-16:使用模块asyncore实现一个基本的HTTP客户端
范例04-17:使用模块asyncore响应客户端发送数据
4.6 实现内存映射
范例04-18:读取记事本文件test.txt的内容
范例04-19:读取整个记事本文件test.txt的内容
范例04-20:逐步读取文件test.txt中的指定字节数内容
4.7 socketserver编程
范例04-21:使用socketserver创建TCP“客户端/服务器”程序
范例04-22:使用ThreadingTCPServer创建“客户端/服务器”通信程序
范例04-17:使用模块asyncore响应客户端发送数据
4.8 实现内存映射
范例04-18:读取记事本文件test.txt的内容
范例04-19:读取整个记事本文件test.txt的内容
范例04-20:逐步读取文件test.txt中的指定字节数内容
4.9 socketserver编程
范例04-21:使用socketserver创建TCP“客户端/服务器”程序
范例04-22:使用ThreadingTCPServer创建“客户端/服务器”通信程序
第5章结构化标记处理实战
5.1 使用内置模块html
范例05-01:使用html.parser创建HTML解析器
范例05-02:使用html.entities解析HTML
5.2 使用内置模块解析XML
范例05-03:使用库xml.etree.ElementTree读取XML文件
范例05-04:使用SAX方法解析XML文件
范例05-05:使用DOM解析方法
范例05-06:使用DOM获取XML文件中指定元素值
范例05-07:使用模块xml.sax.saxutils创建一个指定元素XML文件
范例05-08:使用xmlparser方法解析XML文件
5.3 使用第三方库解析HTML和XML
范例05-09:使用库Beautiful Soup解析HTML
范例05-10:使用库Beautiful Soup解析指定HTML标签
范例05-11:将p标签下的所有子标签存入到一个列表中
范例05-12:获取p标签下的所有子节点内容
范例05-13:处理标签中的兄弟节点和父节点
范例05-14:根据标签名查找文档
范例05-15:使用函数find_all()根据属性查找文档
范例05-16:用函数find_all()根据text查找文档
范例05-17:使用其他标准选择器
范例05-18:使用select()直接传入CSS选择器
范例05-19:使用库bleach过滤HTML代码
范例05-20:使用方法bleach.clean()不同参数实现过滤处理
范例05-21:使用方法bleach.linkify()添加指定属性
范例05-22:使用callback参数删除指定属性
范例05-23:使用bleach.linkifier.Linke处理链接
范例05-24:使用bleach.linkifier.LinkifyFilter处理链接
范例05-25:使用库cssutils处理CSS标记
范例05-26:使用html5lib解析HTML
范例05-27:使用html5lib解析HTML中的指定标签
范例05-28:使用库MarkupSafe构建安全的HTML
范例05-29:使用库MarkupSafe实现自己的格式化
范例05-30:使用库PyQuery实现字符串初始化
范例05-31:使用pyQuery解析HTML内容
范例05-32:使用库PyQuery解析本地HTML文件和网络页面
范例05-33:使用库PyQuery实现基于CSS选择器查找
范例05-34:使用库PyQuery查找子元素
范例05-35:使用库PyQuery查找父元素
范例05-36:使用库PyQuery获取兄弟标签信息
第6章互联网应用程序开发实战
6.1 使用webbrowser开发浏览器程序
范例06-01:分别调用IE浏览器和谷歌浏览器打开百度网主页
范例06-02:调用默认浏览器每隔5秒打开一次指定网页
6.2 使用urllib包
范例06-03:在百度搜索关键词中得到第一页链接
范例06-04:使用urllib实现HTTP身份验证
6.3 使用内置模块http
范例06-05:访问指定的网站
范例06-06:使用http.client对象中GET方式获取数据
范例06-07:综合使用模块http和urllib
范例06-08:发送HTTP GET请求到远端服务器
范例06-09:使用POST方法发送查询参数
范例06-10:在发出的请求中提供自定义的HTTP 头
6.4 FTP传输、SMTP服务器和XML-RPC服务器
范例06-11:创建一个FTP文件传输客户端
范例06-12:使用模块smtpd创建一个SMTP服务器
范例06-13:使用模块xmlrpc.server创建XML-RPC服务器
6.5 收发电子邮件
范例06-14:获取最新两封邮件的主题和发件人
范例06-15:开发SMTP邮件协议程序
范例06-16:发送带附件功能的邮件
范例06-17:使用库evelopes向指定邮箱发送邮件
范例06-18:使用库evelopes构建Flask Web邮件发送程序
范例06-19:创建一个带有HTTP REST接口的SMTP服务器
6.6 解析JSON数据
范例06-20:将Python字典转换为JSON对象
范例06-21:将JSON编码的字符串转换为Python数据结构
范例06-22:编写自定义类解析JSON数据
6.7 实现数据编码和解码
范例06-23:实现数据“编码\解码”操作
范例06-24: bytes类型和base64类型的相互转换
范例06-25:生成由某地址可表示的全部IP 地址的范围
6.8 实现身份验证
范例06-26:获取指定字符串的数据指纹
范例06-27:利用hmac 握手实现简单且高效的身份验证
范例06-28:socket服务器和客户端的加密认证
6.9 使用第三方库处理HTTP
范例06-29:从网站http://python.org中检索信息
范例06-30:使用库aiohttp爬取指定CSDN博客中技术文章地址
范例06-31:使用库requests返回指定URL地址请求
范例06-32:提交的数据是向这个地址传送data里面的数据
范例06-33:使用get和post方式处理JSON数据
范例06-34:添加headers获取知乎页面信息
范例06-35:使用自定义的编码进行解码
范例06-36:访问远程页面信息
范例06-37:使用库grequests同时处理一组请求
范例06-38:使用库grequests提升访问请求性能
范例06-39:使用库httplib2获取网页数据
范例06-40:使用库httplib2处理网页缓存数据
范例06-41:使用POST发送构造数据
范例06-42:使用库urllib3中的request()方法创建请求
范例06-43:在request()方法中添加head头创建请求
范例06-44:使用库urllib3中的post()方法创建请求
范例06-45:使用库urllib3发送json数据
范例06-46:使用库urllib3获取远程CSV数据
范例06-47:使用库urllib3抓取显示凤凰网头条新闻
6.10 使用第三方库处理URL
范例06-48:使用库furl优雅处理URL分页
范例06-49:使用库furl处理URL参数
范例06-50:使用内联方法处理URL参数
范例06-51:使用库purl处理三种构造类型URL
范例06-52:使用库purl返回各个URL对象值
范例06-53:使用库purl修改URL参数值
范例06-54:在当前路径末尾添加字段值
范例06-55:使用库webargs处理URL参数
范例06-56:在aiohttp程序中使用库webargs
范例06-57:在Tornado程序中使用库webargs
6.11 提取网页内容
范例06-58:使用库haul获取指定URL中图片信息
范例06-59:查找原始图像extend值为True的图片信息
范例06-60:使用库html2text将HTML转换为文本
范例06-61:将指定的HTML标记转换为文本
范例06-62:使用库lassie获取指定URL地址视频信息
范例06-63:使用库lassie获取指定URL地址文本信息
范例06-64:获取指定URL地址中非图形数据信息
范例06-65:获取指定URL地址中所有图像信息
范例06-66:使用库micawber获取指定URL地址信息
范例06-67:获取库newspaper支持的语言信息
范例06-68:使用库newspaper获取指定URL新闻信息
范例06-69:自动识别指定URL新闻信息
范例06-70:使用库newspaper用同样API识别新闻信息
第7章数据持久化操作实战
7.1 操作SQLite3数据库
范例07-01:使用方法cursor.execute()执行指定SQL语句
范例07-02:使用cursor.executemany()执行指定的SQL
范例07-03:同时执行多个 SQL 语句
范例07-04:使用方法create_function()执行指定函数
范例07-05:创建用户定义的聚合函数
范例07-06:用自定义排序规则以"错误方式"进行排序
范例07-07:生成一个 sqlite shell
范例07-08:返回数据库中的列名称列表
范例07-09:添加、删除、修改SQLite3中的数据
范例07-10:将自定义类Point适配SQLite3数据库
范例07-11:使用函数register_adapter()注册适配器函数
范例07-12:将datetime.datetime对象保存为Unix时间戳
范例07-13:将自定义Python类型转成SQLite类型
范例07-14:使用默认适配器和转换器
范例07-15:使用isolation_level开启智能commit
范例07-16:手动开始commit操作
范例07-17:使用模块apsw创建并操作SQLite数据库数据
范例07-18:同时批处理上千条数据
7.2 操作MySQL数据库
范例07-19:显示PyMySQL数据库版本号
范例07-20:创建新数据库表
范例07-21:数据库插入操作
范例07-22:查询数据库中的指定数据
范例07-23:更新数据库中的数据
范例07-24:删除数据库中的数据
范例07-25:通过执行事务删除数据库中的数据
范例07-26:足球俱乐部球员管理系统
7.3 使用MariaDB数据库
范例07-27:搭建MariaDB数据库环境
范例07-28:在Python程序中使用MariaDB数据库
范例07-29:使用MariaDB创建MySQL数据库
7.4 使用MongoDB数据库
范例07-30:搭建MongoDB环境
范例07-31:使用pymongo操作MongoDB数据库
范例07-32:使用mongoengine连接MongoDB数据库
7.5 使用ORM(对象关系映射)操作数据库
范例07-33:使用SQLAlchemy操作两种数据库
范例07-34:使用Peewee操作SQLite数据库
范例07-35:更新和删除指定数据库中数据
范例07-36:查询数据库中指定范围内的数据
范例07-37:使用Peewee在MySQL数据库中创建两个表
范例07-38:使用Pony创建一个SQLite数据库
范例07-39:使用Pony向数据库的指定表中添加新数据
范例07-40:使用Pony查询并修改数据库中的数据
范例07-41:使用Pony删除数据库中的某条数据
范例07-42:在指定MySQL数据库中创建指定的表
范例07-43:在MySQL数据库中实现一对多和继承操作
范例07-44:下载并安装PostgreSQL
范例07-45:连接指定PostgreSQL数据库
范例07-46:在PostgreSQL数据库中创建表
范例07-47:创建PostgreSQL数据表并插入新数据
范例07-48:查询显示PostgreSQL数据库中的数据
范例07-49:向PostgreSQL数据库中插入并更新数据
范例07-50:删除PostgreSQL数据库中的指定数据
范例07-51:插入、查询、删除和更新PostgreSQL中的数据
范例07-52:使用模块queries查询数据
范例07-53:查询并显示PostgreSQL数据库中的数据
7.6 连接SQL Server数据库
范例07-54:连接并操作SQL Server数据库
范例07-55:创建SQL Server数据库表并查询里面的数据
7.7 使用Redis存储
范例07-56:使用Redis连接服务器
范例07-57:使用ConnectionPool创建连接池
范例07-58:实现“发布—订阅”模式
范例07-59:在Redis中使用delete和exists命令
范例07-60:在Redis中使用expire和expireat命令
范例07-61:在Redis中使用persist、keys和move命令
范例07-62:使用Redis保存爬虫链接
第8章 特殊文本格式处理实战
8.1 Tablib模块实战演练
范例08-01:操作数据集中的指定行和列
范例08-02:删除并导出不同格式的数据
范例08-03:生成一个Excel文件
范例08-04:将多个Tablib数据集导出到Excel文件
范例08-05:使用标签过滤数据
范例08-06:将两组数据分离导入Excel文件中
8.2 Office处理实战
范例08-07:使用openpyxl读取Excel文件
范例08-08:将4组数据导入到Excel文件中
范例08-09:在Excel文件中检索某关键字
范例08-10:将数据导入到Excel文件并生成图表
范例08-11:使用pyexcel读取并写入CSV文件
范例08-12:使用pyexcel读取Excel中的每个单元格内容
范例08-13:按列读取并显示Excel中的每个单元格内容
范例08-14:读取显示上述Excel文件中的所有数据
范例08-15:将3组数据导入到新建的Excel文件中
范例08-16:使用pyexcel以多种方式获取Excel数据
范例08-17:将数据分别导入到Excel文件和SQLite数据库
范例08-18:使用python-docx创建一个Word文档
范例08-19:在Word中插入图片
范例08-20:向Word文档中插入10个实心圆形
范例08-21:得到英文的样式名称
范例08-22:获取Word文档中的文本样式名称
范例08-23:获取Word文档中的文本内容
范例08-24:在Word文档中创建表格
范例08-25:创建表格并合并里面的单元格
范例08-26:调整Word表格的宽度
范例08-27:获取python-docx内部的表格样式名称
范例08-28:使用指定样式修饰表格
范例08-29:创建样式和设置字体
范例08-30:使用Run.font设置字体样式
范例08-31:设置段落递进的左对齐样式
范例08-32:自定义创建Word样式
范例08-33:使用库xlrd读取Excel文件的内容
范例08-34:将指定内容写入到Excel文件并创建Excel文件
范例08-35:使用库xlsxwriter创建一个指定内容的Excel文件
范例08-36:向Excel文件中批量写入内容
范例08-37:设置表格样式
范例08-38:向Excel文件中插入图像
范例08-39:向Excel文件中插入数据并绘制柱状图
范例08-40:向Excel文件中插入数据并绘制散点图
范例08-41:向Excel文件中插入数据并绘制柱状图和饼状图
8.3 PDF处理实战
范例08-42:将PDF文件中的内容转换为TEXT文本
范例08-43:解析某个在线PDF文件的内容
范例08-44:使用PyPDF2读取PDF文件
范例08-45:类PdfFileWriter
范例08-46:将两个PDF文件合并为一个PDF文件
范例08-47:分割某个指定的PDF文件
范例08-48:合并3个PDF文件
范例08-49:向指定PDF文件中写入文本
范例08-50:向PDF文件中写入指定样式的文本
范例08-51:在PDF文件中绘制矢量图形
范例08-52:在PDF文件中绘制图像
范例08-53:分别在PDF文件和PNG文件中绘制饼状图
范例08-54:在PDF文件中分别生成条形图和二维码
第9章图形化界面开发实战
9.1 使用内置库tkinter
范例09-01:第一个tkinter程序
范例09-02:向窗体中添加组件
范例09-03:使用Frame布局窗体界面
范例09-04:向窗体中添加按钮控件
范例09-05:使用文本框控件
范例09-06:实现会员注册界面效果
范例09-07:使用菜单控件
范例09-08:在窗体中创建标签
范例09-09:在tkinter窗体中创建单选框和复选框
范例09-10:在窗体中绘制图形
范例09-11:使用事件机制创建一个“英尺/米”转换器
范例09-12:实现一个动态绘图程序
范例09-13:制作一个计算器
范例09-14:创建消息对话框
范例09-15:创建输入对话框
范例09-16:创建文件打开/保存对话框
范例09-17:创建颜色选择器
范例09-18:创建自定义对话框
范例09-19:开发一个记事本程序
范例09-20:制作一个交通标记
范例09-21:桌面天气预报程序
范例09-22:精简版资源管理器
9.2 使用Tk的扩展小部件tkinter.tix
范例09-23:使用Balloon组件
范例09-24:使用DirList组件
范例09-25:使用分组列表组件
范例09-26:使用管理组件
范例09-27:实现一个日历程序
9.3 Pmw库开发实战
范例09-28:下载并安装Pmw
范例09-29:使用ButtonBox组件
范例09-30:使用ComboBox组件
范例09-31:使用Counter组件
范例09-32:使用Group组件
范例09-33:使用LabeledWidget组件
范例09-34:使用MainMenuBar组件
范例09-35:使用MessageBar组件
范例09-36:使用OptionMenu组件
范例09-37:使用RadioSelect组件
范例09-38:使用ScrolledCanvas组件
范例09-39:使用AboutDialog对话框
范例09-40:使用Balloon对话框
范例09-41:第一个PyQt程序
范例09-42:在PyQt窗体中创建一个图标
范例09-43:在PyQt窗体中实现一个提示信息
范例09-44:在PyQt窗体中创建状态栏信息
范例09-45:在窗体中同时创建菜单栏和状态栏信息
范例09-46:在PyQt窗体中创建工具栏
范例09-47:在PyQt窗体中使用绝对定位
范例09-48:使用箱布局方式
范例09-49:使用网格布局模拟实现一个计算器
范例09-50:使用表单布局实现一个留言板界面
范例09-51:使用单击按钮事件处理程序
范例09-52:在PyQt5中使用信号和槽
范例09-53:重写事件处理函数
范例09-54:重新实现按下按钮后的操作功能
范例09-55:人机对战石头、剪刀、布小游戏
范例09-56:发送自定义信号
范例09-57:使用对话框获取用户名信息
范例09-58:使用颜色选择对话框
范例09-59:使用字体选择框设置字体
范例09-60:使用文件选择对话框
范例09-61:使用QCheckBox实现复选框功能
范例09-62:使用QRadioButton实现单选按钮功能
范例09-63:使用QPushButton实现切换按钮功能
范例09-64:使用QSlider实现一个音量控制器
范例09-65:使用QProgressBar实现一个进度条效果
范例09-66:使用QCalendarWidget实现一个日历
范例09-67:在窗口中显示一个图片
范例09-68:创建一个单行文本编辑框
范例09-69:使用分割框组件(QSplitter)
范例09-70:使用Eric6提高开发效率
9.4 使用pyglet库
范例09-71:创建第一个pyglet程序
范例09-72:在窗体中显示指定图片
范例09-73:使用库pyglet处理键盘事件程序
范例09-74:在屏幕上绘制一个三角形
范例09-75:使用顶点数组绘制三角形
范例09-76:开发一个pyglet游戏
9.4 使用toga库
范例09-77:安装并创建第一个toga程序
范例09-78:创建一个温度转换器
范例09-79:使用组件ScrollContainer实现滚动功能
范例09-80:使用绘图组件
9.5 wxPython实战
范例09-81:安装并使用wxPython
范例09-82:使用StaticText组件在窗体中显示文本
范例09-83:创建四种不同样式文本框
范例09-84:使用RadioButton(单选按钮)组件
9.6 GUI高级实战
范例09-85:Tkinter+ SQLite3图书管理系统
范例09-86:Tkinter+ SQLite3计时器系统
第10章图形图像开发实战
10.1 使用Pillow库
范例10-01:安装Pillow库
范例10-02:使用Image模块创建随机大小图片
范例10-03:使用Image模块打开一幅图片
范例10-04:实现图片透明度混合
范例10-05:遮罩混合处理
范例10-06:缩放指定图片像素
范例10-07:使用Image模块缩放指定图片
范例10-08:对指定图片实现剪切和粘贴功能
范例10-09:转换指定图片的格式
范例10-10:旋转指定图片
范例10-11:对指定图片实现过滤模糊操作
范例10-12:使用其他内置函数
范例10-13:使用Pillow绘制随机漫步图和点阵图
范例10-14:将PNG图片转换为可读写的RLE图片
范例10-15:使用ImageChops模块实现图片合成
范例10-16:实现图像增强处理
范例10-17:同时增强处理多幅图像
范例10-18:对指定图片实现滤镜特效
范例10-19:使用ImageDraw模块绘制二维图像
范例10-20:使用ImageFont模块绘制二维图像
范例10-21:生成随机验证码图片
范例10-22:使用ImageFont模块绘制验证码
范例10-23:绘制指定年份的日历
10.2 pyBarcode库实战
范例10-24:创建EAN-13标准的条形码
范例10-25:将创建EAN-13的条形码保存为PNG图片
范例10-26:创建两个条形码图片
10.3 使用库qrcode创建二维码
范例10-27:将文本信息生成一个二维码
范例10-28:将网址信息生成一个二维码
范例10-29:生成一个指定样式二维码
范例10-30:生成一个带有素材图片二维码
范例10-31:使用qrcode开发一个二维码生成器
10.4 scikit-image开发实战
范例10-32:安装scikit-image
范例10-33:使用skimage读入并显示外部图像
范例10-34:读取并显示外部灰度图像
范例10-35:显示内置星空图片
范例10-36:读取并保存内置星空图片
范例10-37:显示内置星空图片的基本信息
范例10-38:实现内置猫图片的红色通道的效果
范例10-39:对内置猫图片进行二值化操作
范例10-40:对内置猫图片进行裁剪处理
范例10-41:将unit8类型转换成float类型
范例10-42:将float转换成unit8类型
范例10-43:将RGB图转换为灰度图
范例10-44:使用skimage实现绘制图片功能
范例10-45:使用subplot()函数绘制多视图窗口
范例10-46:使用subplots()函数绘制多视图窗口
范例10-47:使用viewer绘制内置月亮图像
范例10-48:显示系统内指定素材图像
范例10-49:读取并显示文件夹“pic”中IPEG图片的个数
范例10-50:将指定素材图像批量转换为灰度图
范例10-51:使用函数concatenate_images(ic)连接图片
范例10-52:改变指定图片的大小
范例10-53:使用函数rescale()缩放图片
范例10-54:使用函数rotate()旋转图片
10.5 使用face_recognition实现人脸识别
范例10-55:搭建开发环境
范例10-56:输出显示指定人像人脸特征
范例10-57:在指定照片中识别标记出人脸
范例10-58:识别出照片中的所有人脸
范例10-59:判断在照片中是否包含某个人脸
范例10-60:识别出在照片中的人到底是谁
范例10-61:摄像头实时识别
第11章多线程开发实战
11.1 使用threading模块
范例11-01:使用_thread模块创建两个线程
范例11-02:直接在线程中运行函数
范例11-03:通过继承类threading.Thread创建线程
范例11-04:使用方法join()实现线程等待
范例11-05:使用RLock实现线程同步
范例11-06:使用Lock对临界区加锁
范例11-07:使用上下文管理器避免死锁
范例11-08:测试前面上下文管理器文件的功能
范例11-09:5 位哲学家的就餐问题
范例11-10:使用Condition实现一个捉迷藏游戏
范例11-11:实现一个周期性的定时器
范例11-12:使用Semaphore对象运行4个线程
范例11-13:只唤醒一个单独的等待线程
范例11-14:使用BoundedSemaphore对象运行4个线程
范例11-15:使用Event对象实现线程同步
范例11-16:使用Event对象同步线程启动
范例11-17:使用Timer设置线程延迟5秒后执行
范例11-18:使用local对象管理线程局部数据
范例11-19:使用local()创建一个线程本地存储对象
11.2 使用进程库multiprocessing
范例11-20:使用Process对象生成进程
范例11-21:使用Pipe对象创建双向管道
范例11-22:使用Queue对象放入进程
范例11-23:使用Connection对象处理数
范例11-24:使用Shared对象
范例11-25:使用Manager对象操作list列表
范例11-26:使用Manager对象共享对象类型
范例11-27:使用Proxy对象共享对象类型
范例11-28:使用Pool对象创建多个进程并实现并发处理
范例11-29:使用Pool对象实现进程调度
范例11-30:使用Pool对象并行处理某个目录下的文件
范例11-31:使用线程和队列实现Actor并发编程模式
范例11-32:使用元组的形式传递带标签消息
范例11-33:实现一个Actor 模式的变种
11.3 使用库concurrent.futures
范例11-34:使用submit()方法操作线程池
范例11-35:使用map()方法返回迭代器结果
范例11-36:使用wait()方法返回一个元组
范例11-37:使用ThreadPoolExecutor实现异步调用
范例11-38:使用ProcessPoolExecutor实现异步调用
范例11-39:使用线程池服务客户端
范例11-40:手动创建自己的线程池
范例11-41:使用ThreadPoolExecutor 创建线程池
范例11-42:读取数据并标识出所有访问过文件
范例11-43:实现多核读取操作
范例11-44:使用类Future实现封装操作
范例11-45:使用生成器代替线程实现并发
范例11-46:使用生成器来实现Actor并发
11.4 使用sched模块
范例11-47:使用类scheduler实现时间调度
范例11-48:使用Scheduler对象实现时间调度
范例11-49:使用sched方法定时执行任务
范例11-50:使用sched循环执行任务
范例11-51:使用queue 模块实现线程之间数据通信
范例11-52:构建一个线程安全的优先级队列
范例11-53:实现先进先出队列
范例11-54:实现后进先出队列
范例11-55:使用模块queue实现优先级队列
范例11-56:轮询多个线程队列
11.5 使用模块subprocess
范例11-57:使用模块subprocess创建子进程
范例11-58:使用类Popen创建进程并运行指定源码
第12章 Python游戏开发实战
12.1 简单的小游戏
范例12-01:猜数游戏
范例12-02:龙的世界游戏
范例12-03:一个Hangman游戏
范例12-04:凯撒密码游戏
范例12-05:维吉尼亚密码
范例12-06**:Reversi****黑白棋游戏**
范例12-07:石头、剪子、布
12.2 Pygame游戏开发初级实战
范例12-08:安装Pygame
范例12-09:开发第一个Pygame程序
范例12-10:处理键盘事件
范例12-11:在全屏显示模式和非全屏模式之间进行转换
范例12-12:显示指定样式文字
范例12-13:实现一个三原色颜色滑动条效果
范例12-14:随机在屏幕上绘制点
范例12-15:随机在屏幕中绘制各种多边形
12.3 Pygame游戏开发高级实战
范例12-16:开发一个俄罗斯方块游戏
范例12-17:仿微信打飞机游戏
范例12-18:简单的贪吃蛇方案
范例12-19:推箱子游戏
范例12-20:吃苹果游戏
范例12-21:简易跑酷游戏
范例12-22:小猫吃鱼游戏
范例12-23:分析官网的坦克大战游戏
范例12-24:两种贪吃蛇游戏方案
范例12-25:简易俄罗斯方块游戏
12.4 Cocos2d游戏开发实战
范例12-26:第一个cocos2d程序
范例12-27:创建层
范例12-28:在分层中添加事件
范例12-29:在层中添加动作
范例12-30:在层中使用鼠标按键事件
范例12-31:使用地图
范例12-32:2048游戏
范例12-33:贪吃蛇游戏
范例12-34:水果连连看游戏
范例12-35:AI智能贪吃蛇方案
范例12-36:AI智能五子棋游戏
第13章多媒体项目开发实战
13.1 使用内置模块处理音频
范例13-01:使用模audioop播放指定的WAV文件
范例13-02:使用模块aifc 读取和写入AIFF/AIFC文件
范例13-03:使用模块wave读取和写入WAV文件
范例13-04:基于tkinter模块的音乐播放器
范例13-05:基于pygame+PIL+tkinter模块开发网易云音乐播放器
13.2 使用库audiolazy处理数字信号
范例13-06:安装并使用库audiolazy
范例13-07:实现巴特沃斯(Butterworth)滤波器
13.3 使用eyeD3处理音频
范例13-08:安装并使用eyeD3
范例13-09:使用库eyeD3处理指定音频文件
范例13-10:批量处理指定目录下音频文件
范例13-11:使用“eyeD3+tkinter+PIL”开发一个MP3文件编辑器
13.4 使用库m3u8
范例13-12:m3u8介绍和安装
范例13-13:将下载的m3u8视频并转换为MP4
13.5 使用库mutagen
范例13-14:安装和使用mutagen
范例13-15:获取指定音频文件的属性信息
范例13-16:获取指定音频文件的标签信息
范例13-17:批量设置视频文件的封面图片
13.6 使用库pydub
范例13-18:安装和使用pydub
范例13-19:使用库pydub处理WAV音频文件
范例13-20:使用from_file()处理音频文件
范例13-21:使用export()函数处理音频文件
范例13-22:使用empty()函数处理音频文件
范例13-23:截取指定的MP3文件
13.7 使用库tinytag
范例13-24:安装tinytag并获取指定音频的信息
范例13-25:开发一个MP3播放器
13.8 使用库moviepy
范例13-26:安装moviepy
范例13-27:使用库moviepy剪切指定的视频文件
范例13-28:使用库moviepy合成3个视频文件
范例13-29:多屏显示某个视频
范例13-30:设置视频属性
范例13-31:提取视频文件中的指定帧
范例13-32:实现Matplotlib数据的动态可视化
范例13-33:将数据转换为GIF动图
范例13-34:实现视频合成功能
范例13-35:实现文本动画效果
13.9 使用库scikit-video
范例13-36:安装库scikit-video
范例13-37:使用库scikit-video读取官方素材视频信息
范例13-38:逐帧读取指定的视频信息
范例13-39:将随机生成的帧写入到视频文件
范例13-40:使用skvideo.io.ffprobe获取视频的元数据信息
范例13-41:使用blockMotion()返回运动矢量值
范例13-42:计算块运动矢量的运动补偿
范例13-43:读取指定图片的信息
范例13-44:重新设置了指定图像_(:з)∠)_行数和列数
范例13-45:使用skvideo.io.vwrite写入并生成图像
范例13-46:设置只加载一个视频亮度通道
范例13-47:生成指定通道视频并提取视频中的指定帧
第14章数据可视化实战
14.1 使用matplotlib
范例14-01:搭建matplotlib环境
范例14-02:绘制散点图
范例14-03:绘制一个简单的折线图
范例14-04:设置标签文字和线条粗细
范例14-05:绘制指定样式的散点图
范例14-06:绘制柱状图
范例14-07:绘制有说明信息柱状图
范例14-08:绘制一个比较美观的柱状图
范例14-09:绘制多幅子图
范例14-10:在一个坐标系中绘制两个折线图
范例14-11:使用正弦函数和余弦函数绘制曲线
范例14-12:使用Matplotlib的默认配置绘图
范例14-13:绘制随机漫步图
范例14-14:绘制三维图表
范例14-15:绘制波浪图表
范例14-16:绘制散点图
范例14-17:绘制等高线图
范例14-18:绘制饼状图表
范例14-19:大数据分析2014年最高温度和最低温度
范例14-20:在Tkinter中使用Matplotlib绘制图表
14.2 使用pygal库
范例14-21:安装pygal库
范例14-22:使用pygal模拟掷骰子
范例14-23:模拟实现同时掷两个骰子
范例14-24:使用pygal绘制世界人口统计图
范例14-25:使用pygal绘制各大洲地图信息
范例14-26:绘制2015年世界人口地图
14.3 读写处理CSV文件
范例14-27:输出CSV文件中的日期和标题
范例14-28:将数据保存为CSV格式
范例14-29:读取指定CSV文件的文件头
范例14-30:输出CSV文件的文件头和对应位置
范例14-31:输出CSV文件中每天最高气温
范例14-32:根据CSV文件数据绘制图表
范例14-33:提取CSV数据并保存到MySQL数据库
范例14-34:提取CSV数据并保存到SQLite数据库
14.4 使用Pandas库
范例14-35:安装Pandas库并测试是否安装成功
范例14-36:读取并显示CSV文件中的前3条数据
范例14-37:更加规整的读取并显示CSV文件中的前3条数据
范例14-38:读取并显示CSV文件中的某列数据
范例14-39:用统计图表展示CSV中的某列数据
范例14-40:选择指定数据
范例14-41:显示CSV文件中某列和某行数据
范例14-42:在图表中统计显示CSV文件中的前10名信息
范例14-43:统计文件bikes.csv中每个月的骑行数据
范例14-44:输出显示某街道前5天的骑行数据
范例14-45:得到每一行的月份
范例14-46:获取某一天是星期几
范例14-47:统计周一到周日每天的统计数据
范例14-48:使用matplotlib图表统计周一到周日每天的骑行数据
范例14-49:使用matplotlib统计加拿大2012年的全年天气数据
范例14-50:输出CSV文件中的全部天气信息
14.5 使用NumPy库
范例14-51:安装NumPy创建了一个2×3的二维数组
范例14-52:索引数组中的元素
范例14-53:使用内置函数操作数组
范例14-54:使用arange()函数创建数组并进行迭代
范例14-55:数组转置和修改
范例14-56:返回折叠为一维的数组副本
范例14-57:使用字符串函数
范例14-58:使用正弦、余弦和正切函数
范例14-59:使用算数函数实现四则运算
范例14-60:从给定数组中的元素中沿指定轴返回最小值和最大值
范例14-61:使用算数函数sort()实现快速排序
范例14-62:使用函数byteswap()实现字节交换
范例14-63:使用函数empty()返回一个矩阵
范例14-64:在NumPy中使用Matplotlib
范例14-65:使用matplotlib绘制正弦波图
范例14-66:使用matplotlib绘制直方图
第15章 Flask Web开发实战
15.1 Flask Web开发初级实战
范例15-01:安装Flask
范例15-02:第一个Flask Web程序
范例15-03:使用PyCharm开发Flask程序
范例15-04:传递URL参数
范例15-05:使用get请求获取URL参数
范例15-06:使用cookie跟踪用户
范例15-07:使用Flask-Script扩展增强程序功能
范例15-08:使用模板
范例15-09:使用Flask-Bootstrap扩展
范例15-10:使用Flask-Moment扩展本地化日期和时间
范例15-11:使用Flask-WTF扩展
范例15-12:文件上传系统
范例15-13:会员注册登录
范例15-14:使用Flask-SQLAlchemy管理数据库
范例15-15:使用Flask-Mail 扩展收发电子邮件
范例15-16:使用SendGrid发送邮件
15.2 Flask Web高级实战
范例15-17:Flask+MySQL+ SqlAlchemy信息发布系统
范例15-18:热门电影展示系统
范例15-19:图书借阅管理系统
范例15-20:个人日志系统(Flask+TinyDB实现)
范例15-21:使用Peewee+Flask+MySQL开发一个在线留言系统
范例15-22:使用Flask+MySQL开发一个信息发布系统
第16章 Tornado Web开发实战
16.1 Tornado Web初级实战
范例16-01:安装Tornado
范例16-02:编写第一个Tornado程序
范例16-03:获取URL中的参数
范例16-04:获取GET和POST中的参数
范例16-05:在不同页面设置并获取cookie值
范例16-06:实现两种URL转向功能
范例16-07:使用静态资源文件
范例16-08:实现一个基本的注册表单
范例16-09:在模板中使用函数
范例16-10:实现持久化Web服务
范例16-11:实现一个可读写的Web服务
16.2 Tornado Web高级实战
范例16-12:图书管理系统
范例16-13:在线聊天室系统
范例16-14:微型博客系统
范例16-15:图片展示系统
范例16-16:新闻展示系统
第17章 Django Web开发实战
17.1 Django Web初级实战
范例17-01:搭建Django环境
范例17-02:第一个Django工程
范例17-03:在URL中传递参数
范例17-04:使用模板
范例17-05:使用表单
范例17-06:实现基本的数据库操作
17.2 Django Web高级实战
范例17-07:使用Django后台系统开发一个博客系统
范例17-08:开发一个新闻聚合系统
范例17-09:开发一个在线商城系统
范例17-10:智能书签管理系统
范例17-11:智能新闻发布系统
范例17-12:图书借阅系统
范例17-13:Django+ VUE聊天室系统
17.3 使用库Mezzanine
范例17-14:使用Mezzanine开发一个CMS内容管理系统
范例17-15:基于Cartridge的购物车程序
范例17-16:BBS论坛系统
第18章网络爬虫开发实战
18.1 开发简单的网络爬虫应用程序
范例18-01:抓取某贴吧信息
范例18-02:爬取某大学的教师信息
范例18-03:爬取股票信息并保存到本地
范例18-04:使用爬虫框架Scrapy
范例18-05:爬取大学教师职称信息
18.2 网络爬虫高级实战
范例18:06:桌面壁纸抓取系统
范例18-07:抓取音乐信息
范例18-08:抓取斗鱼网的主播信息
范例18-09:大数据实战——抓取知乎数据并分析
范例18-10:大数据实战——抓取大众点评数据并分析
第19章三维立体程序开发实战
19.1 使用matplotlib绘制三维图形
范例19-01:绘制最简单的三维图形
范例19-02:绘制三维曲线
范例19-03:绘制3D轮廓图
范例19-04:绘制3D直方图图
范例19-05:绘制3D网状线
范例19-06:绘制3D三角面片图
范例19-07:绘制3D散点图
范例19-08:绘制3D文字
范例19-09:绘制3D条形图
范例19-10:绘制3D曲面图
范例19-11:绘制三维散点图
范例19-12:绘制混合图
范例19-13:绘制子图
范例19-14:绘制3D坐标系
19.2 使用OpenGL绘制三维图形
范例19-15:安装PyOpenGL
范例19-16:第一个PyOpenGL程序
范例19-17:实现点线面的绘制
范例19-18:绘制平方曲线
范例19-19:绘制立方曲线
范例19-20:绘制艺术图像
范例19-21:绘制不同的线条
范例19-22:绘制平滑阴影三角形
范例19-23:渲染一个简单的立方体
范例19-24:实现灯光渲染
范例19-25:茶壶陈列系统
范例19-26:控制旋转物体
范例19-27:实现一个最简单的动画
范例19-28:实现旋转复杂图形的动画
范例19-29:实现一个简单的3D游戏
范例19-30:移动的3D立方体
范例19-31:飞翔的立方体世界
19.3 使用panda3D绘制三维图形
范例19-32:安装Panda3D并创建第一个Panda3D程序
范例:19-33:国宝熊猫游戏
范例19-34:迷宫中的小球游戏
范例19-35:飞船大作战游戏
范例19-36:拳击赛游戏
范例19-37:超级大恐龙
范例19-38:熊猫游乐场游戏
范例19-39:魔幻迪厅游戏
范例19-40:魔幻萤火虫之夜
范例19-41:奔跑的精灵
第20章数据结构实战
20.1 线性结构实战
范例20-01:实现线性表顺序存储的删除操作
范例20-02:实现线性表顺序存储的插入操作
范例20-03:实现顺序表的基本操作
范例20-04:顺序表的修改、查找、统计、删除、销毁操作
范例20-05:实现链表的基本操作
范例20-06:实现单项列表
范例20-07:实现双向链表
范例20-08:实现完整链表操作
范例20-09:在链表中增加比较功能
范例20-10:带有尾节点引用的单链表
范例20-11:单链表结构字符串
范例20-12:改进的单链表结构字符串
范例20-13:增加新功能的单链表结构字符串
范例20-14:实现单链表反转操作
范例20-15:Python中的队列操作
范例20-16:基于列表实现的优先队列
范例20-17:基于堆实现的优先队列
范例20-18:实现堆排序功能
范例20-19:实现队列、链表、顺序表和循环顺序表
范例20-20:实战栈操作
范例20-21:使用顺序表方法和单链表方法实现栈
范例20-22:使用堆栈将十进制转二进制
范例20-23:使用内建类型list实现双端队列
范例20-24:实现二叉堆操作
20.2 树结构操作实战
范例20-25:实现最简单的树
范例20-26:使用嵌套列表表示树
范例20-27:把二叉树的任何子节点当成二叉树进行处理
范例20-28:实现二叉查找树
范例20-29:实现二叉查找树的完整实现
范例20-30:基于list实现二叉树
范例20-31:实现二元表达式
范例20-32:实现树的层次遍历
范例20-33:使用多叉树寻找最短路径
范例20-34:二叉树的前序、中序和后序遍历
范例20-35:获取二叉树的高度、宽度和深度
范例20-36:实现霍夫曼树
范例20-37:实现霍夫曼树操作
范例20-38:实现AVL树
20.3 图操作实战演练
范例20-39:使用邻接表表示法
范例20-40:将邻接矩阵输出成图
范例20-41:实现邻接矩阵有向图
范例20-42:实现邻接矩阵无向图
范例20-43:实现邻接矩颜色节点图
范例20-44:图的深度优先和广度优先
范例20-45:另一种图的深度优先和广度优先方案
范例20-46:通过二维数组建立无向图
范例20-47:使用二维数组生成有向图
范例20-48:使用边生成有向图
范例20-49:根据邻接矩阵绘制无向图
范例20-50:深度优先搜索和广度优先搜索
范例20-51:实现最小生成树和拓扑序列
范例20-52:使用广度优先和深度优先遍历二叉树
范例20-53:实现最小生成树
第21章 Python算法实战
21.1 常用的算法思想实战
范例21-01:使用递归创建质数
范例21-02:实现拓扑排序
范例21-03:使用分治算法求顺序表的最大值
范例21-04:判断某个元素是否在其中
范例21-05:找出一组序列中的第 k小的元素
范例21-06:使用回溯法求集合{1, 2, 3, 4}的所有子集
范例21-07:获取[1,2,3,4]的所有排列
范例21-08**:回溯法的8****皇后问题**
范例21-09**:使用回溯法解决迷宫问题**
范例21-10**:使用回溯法解决背包问题**
范例21-11:找出从自然数1、2、3、…、n中任取r个数的所有组合
范例21-12:使用回溯法实现图的遍历
范例21-13:使用回溯法解决旅行商问题
范例21-14:使用回溯法解决图的m着色问题
范例21-15:实现 ‘a’、‘b’、‘c’、‘d’ 四个元素的全排列
范例21-16:解决选排列问题
范例21-17:解决最佳作业调度问题
范例21-18:最长公共子序列(LCS)
范例21-19:爬楼梯
范例21-20:使用穷举法计算24点
范例21-21:穷举指定长度的所有字符串
范例21-22:使用穷举法计算平方根
范例21-23:解决一个数学问题
范例21-24:使用递归法计算斐波那契数列的第n项值
范例21-25:使用递归法计算两个数的乘积
范例21-26:计算n的阶乘
范例21-27:使用递归算法解决“汉诺塔”问题
范例21-28:利用递归算法获取斐波拉契数列前n项的值
范例21-29:利用切片递归方式查找数据
范例21-30:顺时针90度调换二位数组中的数据
范例21-31:钱的问题
范例21-32:使用递归算法实现二分法查找
范例21-33:小球弹跳递归计算距离
范例21-34:深度优先广度优先遍历的递归实现
21.2 排序操作算法实战
范例21-35:实现快速排序
范例21-36:实现合并排序
范例21-37:使用递归实现快速排序
范例21-38:实现冒泡排序
范例21-39:实现从大到小的冒泡排序
范例21-40:冒泡排序的另外方案
例21-41:冒泡排序的降序排列
例21-42:实现基本的快速排列
例21-43:实现插入排列
例21-44:实现无序数据的插入排列
例21-45:实现固定数据的插入排列
例21-46:排序随机生成0~100之间的数值
范例21-47:实现选择排序
范例21-48:实现直接选择排序
范例21-49:演示选择排序的操作步骤
范例21-50:选择排序和Python内置函数的效率对比
范例21-51:使用选择排序处理字符
范例21-52:排序处理多个队列
范例21-53:使用堆排序
范例21-54:堆排序演练
范例21-55:将数组按照堆打印
范例21-56:在堆内实现任意查找
范例21-57:实现最小堆
范例21-58:使用堆排序进行排序
范例21-59:实现大顶堆排序
范例21-60:实现堆排序的三种方式
范例21-61:实现基数排序
范例21-62:实现桶排序
范例21-63:实现计数排序
范例21-64:实现希尔排序
范例21-65:展示希尔排序的步骤
范例21-66:希尔排序一个列表
范例21-67:实现折半插入排序
范例21-68:实现归并排序
范例21-69:使用归并排序处理指定列表
范例21-70:归并排序的另外解决方案
范例21-71:使用归并排序处理两个列表
范例21-72:浮点数的归并排序
范例21-73:使用折半查找算法
范例21-74:展示归并排序的处理步骤
21.3 经典数据结构和案例实战
范例21-75:最简单的汉诺塔
范例21-76:最简单的爬楼梯
范例21-77:最近点对问题
范例21-78:从数组中找出指定和组合
范例21-79:找零问题
范例21-80**:马踏棋盘**
范例21-81**:野人与传教士问题**
范例21-82:1000以内的完全数
范例21-83:多进程验证哥德巴赫猜想
范例21-84:高斯消元法解线性方程组
范例21-85**:歌星大奖赛**
范例21-86**:捕鱼和分鱼**
范例21-87**:平分七筐鱼**
范例21-88**:百钱买百鸡**
范例21-89:生命游戏