内容简介
第1章 程序之道
1.1 Python编程语言
1.2什么是程序
1.3什么是调试
1.4语法错误
1.5运行时错误
1.6语义错误
1.7实验型调试
1.8形式语言和自然语言
1.9第一个程序
1.10调试
1.11术语表
1.12练习
第2章 变量、表达式和语句
2.1值和类型
2.2变量
2.3变量名称和关键字
2.4操作符和操作对象
2.5表达式和语句
2.6交互模式和脚本模式
2.7操作顺序
2.8字符串操作
2.9注释
2.10调试
2.11术语表
2.12练习
第3章 函数
3.1函数调用
3.2类型转换函数
3.3数学函数
3.4组合
3.5添加新函数
3.6定义和使用
3.7执行流程
3.8形参和实参
3.9变量和形参是局部的
3.10栈图
3.11有返回值函数和无返回值函数
3.12为什么要有函数
3.13使用from导入模块
3.14调试
3.15 术语表
3.16练习
第4章 案例研究:接口设计
4.1乌龟世界
4.2简单重复
4.3练习
4.4封装
4.5泛化
4.6接口设计
4.7重构
4.8一个开发计划
4.9文档字符串
4.10调试
4.11术语表
4.12练习
第5章 条件和递归
5.1求模操作符
5.2布尔表达式
5.3逻辑操作符
5.4条件执行
5.5选择执行
5.6条件链
5.7嵌套条件
5.8递归
5.9递归函数的栈图
5.10无限递归
5.11键盘输入
5.12调试
5.13术语表
5.14练习
第6章 有返回函数
6.1返回值
6.2增量开发
6.3组合
6.4布尔函数
6.5再谈递归
6.6坚持信念
6.7另一个示例
6.8检查类型
6.9调试
6.10术语表
6.11练习
第7章 迭代
7.1多重赋值
7.2更新变量
7.3 while语句
7.4 break语句
7.5平方根
7.6算法
7.7调试
7.8术语表
7.9练习
第8章 字符串
8.1字符串是一个序列
8.2 len
8.3使用for循环进行遍历
8.4字符串切片
8.5字符串是不可变的
8.6搜索
8.7循环和计数
8.8字符串方法
8.9操作符in
8.10字符串比较
8.11调试
8.12术语表
8.13练习
第9章 案例分析:文字游戏
9.1读取单词列表
9.2练习
9.3搜索
9.4使用下标循环
9.5调试
9.6术语表
9.7练习
第10章 列表
10.1列表是一个序列
10.2列表是可变的
10.3遍历一个列表
10.4列表操作
10.5列表切片
10.6列表方法
10.7映射、过滤和化简
10.8删除元素
10.9列表和字符串
10.10对象和值
10.11别名
10.12列表参数
10.13调试
10.14术语表
10.15 练习
第11章 字典
11.1使用字典作为计数器集合
11.2循环和字典
11.3反向查找
11.4字典和列表
11.5备忘
11.6全局变量
11.7长整数
11.8调试
11.9术语表
11.10练习
第12章 元组
12.1元组是不可变的
12.2元组赋值
12.3作为返回值的元组
12.4可变长参数元组
12.5列表和元组
12.6字典和元组
12.7比较元组
12.8序列的序列
12.9调试
12.10术语表
12.11练习
第13章 案例研究:选择数据结构
13.1单词频率分析
13.2随机数
13.3单词直方图
13.4最常用的单词
13.5可选形参
13.6字典减法
13.7随机单词
13.8马尔可夫分析
13.9数据结构
13.10调试
13.11术语表
13.12练习
第14章 文件
14.1持久化
14.2读和写
14.3格式操作符
14.4文件名和路径
14.5捕获异常
14.6数据库
14.7封存
14.8管道
14.9编写模块
14.10调试
14.11术语表
14.12练习
第15章 类和对象
15.1用户定义类型
15.2属性
15.3矩形
15.4作为返回值的实例
15.5对象是可变的
15.6复制
15.7调试
15.8术语表
15.9练习
第16章 类和函数
16.1时间
16.2纯函数
16.3修改器
16.4原型和计划
16.5调试
16.6术语表
16.7练习
第17章 类和方法
17.1面向对象特性
17.2打印对象
17.3另一个示例
17.4一个更复杂的示例
17.5init方法
17.6 str方法
17.7操作符重载
17.8基于类型的分发
17.9多态
17.10调试
17.11接口和实现
17.12术语表
17.13练习
第18章 继承
18.1卡片对象
18.2类属性
18.3对比卡牌
18.4牌组
18.5打印牌组
18.6添加、删除、洗牌和排序
18.7继承
18.8类图
18.9调试
18.10数据封装
18.11术语表
18.12练习
第19章 案例研究:Tkinter
19.1 GUI
19.2按钮和回调
19.3画布部件
19.4坐标序列
19.5更多部件
19.6包装部件
19.7菜单与Callable
19.8绑定
19.9调试
19.10术语表
19.11练习
附录A调试
附录B算法分析
附录C Lumpy
译后记