第1章 初识Python 1
1.1 Python简史 1
1.2 Python有何不同 2
1.3 本书的特色 2
1.4 安装Python 3
1.5 开始通过IDLE使用Python 4
1.6 在IDLE中修正错误 5
1.7 续行 5
1.8 其他帮助信息:在线资源 6
第2章 Python探索之旅:数字 7
2.1 Python和数字 7
2.2 Python和浮点数 11
2.3 将数字赋给变量 13
2.4 本书采用的变量命名约定 17
2.5 一些Python快捷方式 18
2.6 小结 20
第3章 第一个程序 22
3.1 升温了吗 22
3.2 打印消息 26
3.3 语法小结 27
示例3.1 使用函数来定义二次方程求解公式 28
3.4 获取字符串输入 31
3.5 获取数值输入 33
示例3.2 包含I/O功能的二次方程求解 33
3.6 设置输出格式 35
示例3.3 计算距离的脚本 36
3.7 小结 38
第4章 决策和循环 40
4.1 计算机程序中的决策 40
4.2 条件和布尔运算符 41
4.3 关键字if、elif和else 42
示例4.1 输入你的年龄 44
4.4 while循环 46
示例4.2 阶乘 48
示例4.3 打印斐波那契数 51
4.5 break语句 54
示例4.4 猜数游戏 54
4.6 小结 57
第5章 Python列表 59
5.1 Python之道:世界是由集合组成的 59
5.2 使用for处理列表 61
5.3 不能使用for语句来修改元素 63
示例5.1 一个排序应用程序 64
5.4 索引和切片 66
5.5 将数据复制到切片中 68
5.6 区间 69
示例5.2 重写计算阶乘的程序 70
示例5.3 埃拉托色尼筛选法 72
5.7 列表函数和关键字in 75
5.8 小结 77
第6章 列表推导和枚举 78
6.1 索引和函数enumerate 78
6.2 再淡字符串方法format 79
示例6.1 打印表格 80
6.3 简单列表推导 82
示例6.2 平方差 84
6.4 “二维”列表推导 86
6.5 包含条件的列表推导 88
示例6.3 埃拉托色尼筛选法简洁版 88
示例6.4 毕氏三元数 91
6.6 小结 94
第7章 Python字符串 96
7.1 使用引号创建字符串 96
7.2 索引和切片 98
7.3 在字符串和数字之间进行转换 100
示例7.1 计算末尾有多少个零 101
7.4 剔除多余的字符 104
示例7.2 计算末尾有多少个零(第二版) 105
7.5 使用方法split拆分字符串 106
7.6 通过拼接(+)创建字符串 107
示例7.3 对单行输入中的单词进行排序 108
7.7 方法join 109
7.8 小结 111
第8章 操作字符 113
8.1 本章遵循的命名约定 113
8.2 回顾如何访问字符串中的字符 113
8.3 获取有关字符串方法的帮助信息 114
8.4 大小写检查 114
8.5 大小写转换 115
8.6 回文检测 116
示例8.1 将字符串转换为大写 116
示例8.2 完成回文检测 118
8.7 转换为ASCII码 122
8.8 将ASCII码转换为字符 123
示例8.3 字符串加密 123
示例8.4 字符串解密 126
8.9 小结 127
第9章 高级函数技术 128
9.1 多个参数 128
9.2 返回多个值 129
示例9.1 两个点的距离与和 132
9.3 具名参数 133
9.4 默认参数 134
示例9.2 加法机 135
9.5 从模块导入函数 137
示例9.3 掷骰子游戏 137
9.6 小结 141
第10章 局部变量和全局变量 143
10.1 局部变量有何长处 143
10.2 局部变量和全局变量 144
10.3 关键字global简介 145
10.4 Python中的局部变量陷阱 146
示例10.1 甲壳虫乐队成员人格剖析(BPP) 147
示例10.2 罗马数字 150
示例10.3 罗马数字解码 154
10.5 小结 156
第11章 操作文件 157
11.1 文本文件和二进制文件 157
11.2 模块os 158
11.3 打开文件 160
11.4 写入文本文件 161
示例11.1 将用户输入写入文件 162
11.5 读取文本文件 164
11.6 文件和异常处理 165
示例11.2 读取文本并加上行号 168
11.7 其他文件打开模式 170
11.8 小结 170
第12章 字典和集合 172
12.1 为何需要字典 172
12.2 添加和修改键-值对 173
12.3 访问值 174
12.4 查找键 175
示例12.1 个人电话簿 176
12.5 将字典转换为列表 179
示例12.2 根据前缀选择元素 179
示例12.3 从文件加载及保存到文件 181
12.6 集合面面观 183
12.7 集合操作 184
示例12.4 改进埃拉托色尼筛选法示例 186
12.8 小结 187
第13章 矩阵:二维列表 189
13.1 简单矩阵 189
13.2 访问元素 189
13.3 不规则矩阵和行长 191
13.4 乘法(*)和列表 191
13.5 使用乘法运算符创建的矩阵存在的问题 192
13.6 如何创建N*M矩阵 193
示例13.1 乘法表 194
示例13.2 让用户初始化矩阵 196
13.7 如何旋转矩阵 198
示例13.3 完成旋转示例 201
13.8 小结 204
第14章 决胜井字棋 205
14.1 设计井字棋棋盘 205
14.2 井字棋游戏开发计划 206
14.2.1 第一阶段 206
14.2.2 第二阶段 207
14.2.3 第三阶段 207
14.3 单行的Python if/else语句 207
示例14.1 简单的两玩家游戏 207
14.4 列表方法count 211
示例14.2 具有输赢判断功能的两玩家游戏 211
14.5 引入计算机玩家 216
示例14.3 让用户与计算机玩——计算机先走 217
14.6 小结 222
第15章 类和对象(一) 224
15.1 对象是什么 224
15.2 Python中的类 225
15.2.1 如何定义简单的类 225
15.2.2 如何使用类来创建对象 226
15.2.3 如何给对象添加数据 227
15.2.4 如何编写方法 228
15.3 至关重要的方法_ _init_ _ 229
15.4 设计一个数据库类 230
示例15.1 记录员工信息 232
15.5 定义其他方法 235
15.6 设计Point3D类 236
15.7 Point3D类和默认参数 237
15.8 三维井字棋 238
示例15.2 检查是否满足三维井字棋获胜条件 238
示例15.3 找出所有获胜组合 240
15.9 小结 242
第16章 类和对象(二) 244
16.1 获取文档字符串中的帮助信息 244
16.2 在函数中检查类型以模拟重载 245
16.3 变长参数列表 247
示例16.1 PointN类 249
16.4 继承 252
16.5 Fraction类 254
示例16.2 扩展Fraction类 254
16.6 类变量和类方法 257
16.7 作为默认值的实例变量 258
示例16.3 “自动化的”Polygon类 259
16.8 小结 262
第17章 生命游戏 264
17.1 生命游戏之游戏规则 265
17.2 计算邻居数量 266
17.3 设计程序 267
示例17.1 自定义的矩阵类 268
17.4 将矩阵类放到模块中 269
示例17.2 打印生命矩阵 270
17.5 著名的滑翔机图案 272
示例17.3 完整的生命游戏程序 272
17.6 小结 276
第18章 Python高级技术 278
18.1 生成器 278
18.2 发挥生成器的威力 279
示例18.1 一个自定义的随机数生成器 281
18.3 特性 284
18.3.1 获取方法 285
18.3.2 设置方法 286
18.3.3 同时定义获取方法和设置方法 287
示例18.2 支持多种表示方式的温度对象 287
18.4 装饰器:包装其他函数的函数 289
18.5 Python装饰 292
示例18.3 将装饰器用作调试工具 294
18.6 小结 296
附录A Python运算符优先级表 297
附录B 最重要的Python 3.0格式设置规则 299
附录C 术语表 302