第1章 编程简介 1
1.1 Python语言 2
1.2 Python适合用于做什么 3
1.3程序员如何工作 4
1.4安装Python 6
1.4.1在Windows系统上安装Python 6
1.4.2在Mac系统上安装Python 7
1.4.3在Linux系统上安装Python 7
第2章 算术、字符串与变量 9
2.1.交互式命令shell 10
2.1.1 shell提示符 10
2.1.2记录 10
2.2整数算术 11
2.2.1整除 11
2.2.2求值顺序 12
2.2.3长度不受限制 12
2.3浮点数算术 13
2.3.1浮点数字面量 13
2.3.2溢出 14
2.3.3精度有限 14
2.3.4复数 15
2.4其他数学函数 16
2.4.1使用返回值 16
2.4.2导入模块 16
2.5字符串 17
2.5.1标识字符串 17
2.5.2字符串的长度 18
2.6字符串拼接 19
2.7获取帮助 20
2.7.1列出模块中的函数 20
2.7.2打印文档字符串 21
2.8类型转换 22
2.8.1将整数和字符串转换为浮点数 22
2.8.2将整数和浮点数转换为字符串 22
2.8.3将浮点数转换为整数 23
2.8.4将字符串转换为数字 23
2.9变量和值 24
2.10赋值语句 26
2.11变量如何引用值 28
2.11.1赋值时不复制 28
2.11.2数字和字符串是不可变的 28
2.12多重赋值 29
第3章 编写程序 31
3.1使用IDLE的编辑器 32
3.1.1在 IDLE中编写程序 32
3.1.2从命令行运行程序 33
3.1.3从命令行调用Python 33
3.2编译源代码 35
3.3从键盘读取字符串 36
3.3.1跟踪程序 36
3.3.2从键盘读取数字 38
3.4在屏幕上打印字符串 39
3.5源代码注释 41
3.6程序的组织 42
第4章 流程控制 43
4.1布尔逻辑 44
4.1.1逻辑相等 45
4.1.2逻辑与 45
4.1.3逻辑或 45
4.1.4逻辑非 45
4.1.5计算较长的布尔表达式 46
4.1.6计算包含圆括号的布尔表达式 46
4.1.7计算不包含圆括号的布尔表达式 47
4.1.8短路求值 48
4.2 if语句 49
4.3代码块和缩进 51
4.3.1 if/elif语句 52
4.3.2条件表达式 53
4.4循环 54
4.4.1 for循环 54
4.4.2 while循环 56
4.5比较for循环和while循环 59
4.5.1计算阶乘 59
4.5.2计算用户输入的数字的总和 61
4.5.3计算未知个数字的总和 62
4.6跳出循环和语句块 64
4.7循环中的循环 66
第5章 函数 67
5.1调用函数 68
5.1.1不返回值的函数 69
5.1.2给函数名赋值 69
5.2定义函数 70
5.3变量的作用域 73
5.4使用main函数 75
5.5函数的参数 76
5.5.1按引用传递 76
5.5.2一个重要示例 77
5.5.3默认值 78
5.5.4关键字参数 79
5.6模块 80
5.6.1创建Python模块 80
5.6.2名称空间 82
第6章 字符串 83
6.1字符串索引 84
6.1.1负数索引 85
6.1.2使用for循环访问字符 86
6.2字符 87
6.3字符串切片 89
6.3.1获取切片的捷径 90
6.3.2使用负数索引的切片 91
6.4标准字符串函数 92
6.4.1 测试函数 92
6.4.2搜索函数 93
6.4.3改变大小写的函数 94
6.4.4设置格式的函数 94
6.4.5剥除函数 95
6.4.6拆分函数 95
6.4.7替换函数 96
6.4.8其他函数 97
6.5正则表达式 98
6.5.1简单的正则表达式 98
6.5.2使用正则表达式匹配字符串 99
6.5.3其他正则表达式 100
第7章 数据结构 101
7.1 type命令 102
7.2序列 103
7.3元组 104
7.3.1元组是不可变的 105
7.3.2元组函数 106
7.4列表 108
7.5列表函数 110
7.6列表排序 113
7.7列表解析 115
7.7.1列表解析示例 116
7.7.2使用列表解析进行筛选 117
7.8字典 118
7.8.1对键的限制 119
7.8.2字典函数 120
7.9集合 122
第8章 输入和输出 123
8.1设置字符串格式 124
8.1.1字符串插入 124
8.1.2转换说明符 125
8.2格式字符串 126
8.3读写文件 128
8.3.1文件夹 130
8.3.2当前工作目录 130
8.4检查文件和文件夹 131
8.5处理文本文件 134
8.5.1逐行读取文本文件 134
8.5.2将整个文本文件作为一个字符串进行读取 135
8.5.3写入文本文件 136
8.5.4附加到文本文件末尾 136
8.5.5将字符串插入到文件开头 137
8.6处理二进制文件 138
8.7读取网页 141
第9章 异常处理 143
9.1异常 144
9.2捕获异常 146
9.2.1 try/except块 148
9.2.2捕获多种异常 149
9.2.3捕获所有异常 149
9.3清理操作 150
第10章 面向对象编程 153
10.1编写类 154
10.2显示对象 156
10.3灵活的初始化 160
10.4设置函数和获取函数 162
10.4.1特性装饰器 163
10.4.2私有变量 166
10.5继承 168
10.6多态 171
10.6.1实现get move函数 172
10.6.2玩游戏Undercut 173
10.7更深入地学习 175
第11章 案例研究:文本统计 177
11.1问题描述 178
11.2保留想要的字母 180
11.3使用大型数据文件测试代码 182
11.4找出出现次数较多的单词 184
11.5将字符串转换为次数字典 187
11.6组织在一起 188
11.7练习 190
11.8最终的程序 192
附录A 深受欢迎的Python包 195
附录B 比较Python2和Python3 199
索引 203