第 1 章? 基本概念 
1-1? 认识 Python?................................2 
1-2? Python 的起源?.............................2 
1-3? Python 语言发展史.......................3 
1-4? Python 的应用范围?......................4 
1-5? 静态语言与动态语言?.....................4 
1-6? 跨平台的程序语言?.........................5 
1-7? 系统的安装与执行?.........................5 
1-8? Python?2 与 Python?3 不相容的 
? ? ???验证?...........................................5 
1-9? 文件的建立、存储、执行与打开?......6 
1-9-1 文件的建立 ....................................... 6 
1-9-2 文件的存储 ....................................... 7 
1-9-3 文件的执行 ....................................... 7 
1-9-4 打开文件 ........................................... 8 
1-10? 程序注释?...................................8 
1-10-1 注释符号 # ...................................... 8 
1-10-2 三个单引号或双引号 ..................... 9 
1-11? Python 彩蛋?..............................9 
习题 ............................................................. 10 
第 2 章? 认识变量与基本数学运算 
2-1? 用 Python 做计算?.......................12 
2-2? 认识变量?...................................12 
2-2-1 基本概念 ..................................... 12 
2-2-2 认识变量的地址 ............................. 14 
2-3? 认识程序的意义?..........................14 
2-4? 认识注释的意义?..........................15 
2-5? Python 变量与其他程序语言的 
? ? ???差异?.........................................15 
2-6? 变量的命名原则?..........................15 
2-7? 基本数学运算?.............................17 
2-7-1 四则运算
2-7-2 余数和整除 ..................................... 17 
2-7-3 次方................................................. 18 
2-7-4 Python 语言控制运算的优先级 ..... 18 
2-8? 指派运算符?................................18 
2-9? Python 等号的多重指定使用?........19 
2-10? 删除变量?.................................20 
2-11? Python 的断行?.........................20 
2-11-1 一行有多个语句 ........................... 20 
2-11-2 将一个语句分成多行.................... 21 
2-12? 专题——复利计算 / 计算圆面积 
? ? ? ??与圆周长?.................................21 
2-12-1 银行存款复利的计算 ................... 21 
2-12-2 计算圆面积与周长 ....................... 22 
习题 ............................................................. 22 
第 3 章? Python 的基本数据类型 
3-1? type(?) 函数?...............................26 
3-2? 数值数据类型?.............................26 
3-2-1 整数 int ........................................... 26 
3-2-2 浮点数 ............................................. 27 
3-2-3 基本数值数据的使用 ..................... 27 
3-2-4 整数与浮点数的运算 ..................... 27 
3-2-5 二进制整数与函数 bin( ) ................ 28 
3-2-6 八进制整数与函数 oct( ) ................ 29 
3-2-7 十六进制整数与函数 hex( ) ........... 29 
3-2-8 强制数据类型的转换 ..................... 29 
3-2-9 数值运算常用的函数 ..................... 30 
3-2-10 科学记数法 ................................... 31 
3-3? 布尔值数据类型?..........................32 
3-4? 字符串数据类型?..........................34 
3-4-1 字符串的连接 ................................. 34 
3-4-2 处理多于一行的字符串 ................. 35 
3-4-3 转义字符
3-4-4 str( ) 函数 ........................................ 36 
3-4-5 将字符串转换为整数 ..................... 37 
3-4-6 字符串与整数相乘产生字符串 
复制效果......................................... 37 
3-4-7 聪明地使用字符串加法和换行 
字符 \n ............................................ 38 
3-4-8 字符串前加 r ................................... 38 
3-5? 字符串与字符.............................38 
3-5-1 ASCII 码 ......................................... 39 
3-5-2 Unicode 码 ...................................... 39 
3-5-3 utf-8 编码 ........................................ 40 
3-6? bytes 数据 ................................40 
3-6-1 Unicode 字符串转成 bytes 数据 ..... 41 
3-6-2 bytes 数据转成 Unicode 字符串 ..... 42 
3-7? 专题——地球到月球时间计算 / 
? ? 计算坐标轴两点之间的距离 ...........42 
3-7-1 计算地球到月球所需时间 .............. 42 
3-7-2 计算坐标轴两个点之间的距离 ...... 43 
习题 ............................................................. 44 
第 4 章? 基本输入与输出 
4-1? Python 的辅助说明 help( ) ..........47 
4-2? 格式化输出数据使用 print( ).........47 
4-2-1 函数 print( ) 的基本语法 ................ 47 
4-2-2 格式化 print( ) 输出 ........................ 48 
4-2-3 精准控制格式化的输出 ................. 50 
4-2-4 format( ) 函数 ................................. 52 
4-2-5 字符串输出与基本排版的应用 ...... 54 
4-2-6 一个无聊的操作 ............................. 54 
4-3? 输出数据到文件..........................55 
4-3-1 打开一个文件 open( ) ..................... 55 
4-3-2 使用 print( ) 函数输出数据到 
文件 ................................................ 56 
4-4? 数据输入 input( )........................56 
4-5? 处理字符串的数学运算 eval( ) ......58 
4-6? 列出所有内建函数 dir( )...............59 
4-7? 专题——温度转换 / 房贷问题 / 正五 
? ? 角形面积 / 利用经纬度计算距离.....59 
4-7-1 设计摄氏温度和华氏温度的转换
4-7-2 房屋贷款问题 ................................. 60 
4-7-3 正五角形面积 ................................. 61 
4-7-4 利用经纬度计算地球各城市间的 
距离 ................................................ 62 
习题 ............................................................. 63 
第 5 章? 流程控制及 if 语句的使用 
5-1? 关系运算符................................67 
5-2? 逻辑运算符 ................................68 
5-3? if 语句.......................................69 
5-4? if … else 语句............................71 
5-5? if … elif … else 语句 ..................73 
5-6? 嵌套的 if 语句.............................76 
5-7? 尚未设置的变量值 None..............76 
5-8? 专题——BMI 程序 / 猜出生日期 / 
? ? ? 十二生肖系统 / 线性方程式...........77 
5-8-1 设计人体体重健康判断程序 .......... 77 
5-8-2 猜出生日期 ..................................... 78 
5-8-3 十二生肖系统 ................................. 80 
5-8-4 求一元二次方程式的根 ................. 81 
5-8-5 求解联立线性方程式 ..................... 82 
习题 ............................................................. 82 
第 6 章? 列表 
6-1? 认识列表 ...................................87 
6-1-1 列表基本定义 ................................. 87 
6-1-2 读取列表元素 ................................. 88 
6-1-3 列表切片 ......................................... 89 
6-1-4 列表索引值是 -1 ............................ 90 
6-1-5 列表最大值 max( )、最小值 
min( )、总和 sum( ) ....................... 91 
6-1-6 列表个数 len( ) ............................... 92 
6-1-7 更改列表元素的内容 ..................... 92 
6-1-8 列表的相加 ..................................... 93 
6-1-9 列表乘以一个数字 ......................... 94 
6-1-10 列表元素的加法操作 ................... 94 
6-1-11 删除列表元素 ............................... 95 
6-1-12 列表为空列表的判断 ................... 96 
6-1-13 删除列表 ....................................... 96 
6-1-14 补充多重指定与列表
6-2? Python 简单的面向对象概念........97 
6-2-1 更改字符串大小写 lower( )/ 
upper( )/title( ) ................................ 97 
6-2-2 删除空格符 rstrip( )/lstrip( )/ 
strip( ) ............................................. 98 
6-2-3 格式化字符串位置 center( )/ 
ljust( )/rjust( ) .................................. 99 
6-2-4 dir( ) 获得系统内部对象的方法 ... 100 
6-3? 获得列表的方法........................101 
6-4? 增加与删除列表元素 .................102 
6-4-1 在列表末端增加元素 append( ) ... 102 
6-4-2 插入列表元素 insert( ) .................. 102 
6-4-3 删除列表元素 pop( )..................... 103 
6-4-4 删除指定的元素 remove( ) ........... 103 
6-5? 列表的排序..............................104 
6-5-1 颠倒排序 reverse( ) ....................... 104 
6-5-2 sort( ) 排序 .................................... 105 
6-5-3 sorted( ) 排序 ................................ 106 
6-6? 进阶列表操作...........................107 
6-6-1 index( ) .......................................... 107 
6-6-2 count( ) .......................................... 108 
6-7? 列表内含列表...........................108 
6-7-1 再谈 append( ) ............................... 109 
6-7-2 extend( ) ........................................ 110 
6-7-3 再看二维列表 ............................... 110 
6-8? 列表的赋值与切片复制 ..............111 
6-8-1 列表赋值 ........................................111 
6-8-2 地址的概念 ................................... 112 
6-8-3 列表的切片复制 ........................... 113 
6-8-4 浅拷贝与深拷贝 ........................... 114 
6-9? 再谈字符串..............................115 
6-9-1 字符串的索引 ............................... 115 
6-9-2 字符串切片 ................................... 115 
6-9-3 函数或方法 ................................... 116 
6-9-4 将字符串转成列表 ....................... 116 
6-9-5 切片赋值的应用 ........................... 117 
6-9-6 使用 split( ) 分割字符串 ............... 117 
6-9-7 列表元素的组合 
6-9-8 字符串的其他方法 ....................... 118 
6-10? in 和 not in 表达式..................118 
6-11? is 和 is not 表达式 ..................119 
6-11-1 整数变量在内存地址的观察 ...... 120 
6-11-2 将 is 和 is not 表达式应用于整数 
变量 ............................................ 120 
6-11-3 将 is 和 is not 表达式应用于列表 
变量 ............................................ 121 
6-11-4 将 is 应用于 None ....................... 121 
6-12? enumerate 对象 ....................122 
6-13? 专题——建立大型列表 / 用户账号 
? ? ? 管理系统 / 文件加密................123 
6-13-1 制作大型的列表数据 ............... 123 
6-13-2 用户账号管理系统 .................. 123 
6-13-3 文件加密 ..................................... 124 
习题 ........................................................... 124 
第 7 章? 循环设计 
7-1? 基本 for 循环 ...........................129 
7-1-1 for 循环基本操作 ......................... 130 
7-1-2 程序代码区块只有一行 ............... 130 
7-1-3 程序代码区块有多行 ................... 131 
7-1-4 将 for 循环应用于列表区间 
元素 .............................................. 131 
7-1-5 将 for 循环应用于数据类别的 
判断 .............................................. 132 
7-1-6 删除列表内重复的元素 ............... 132 
7-1-7 活用 for 循环 ................................ 133 
7-2? range( ) 函数...........................133 
7-2-1 只有一个参数的 range( ) 函数的 
应用 .............................................. 134 
7-2-2 扩充专题银行存款复利的轨迹 .... 135 
7-2-3 有两个参数的 range( ) 函数 ......... 135 
7-2-4 有 3 个参数的 range( ) 函数 ......... 136 
7-2-5 活用 range( ) ................................. 136 
7-2-6 删除列表内所有元素 ................... 137 
7-2-7 列表生成的应用 .......................... 138 
7-2-8 打印含列表元素的列表 ............... 140 
7-2-9 含有条件式的列表生成
7-2-10 列出 ASCII 码值或 Unicode 码值 
的字符 ........................................ 141 
7-3? 进阶的 for 循环应用 ..................142 
7-3-1 嵌套 for 循环 ................................ 142 
7-3-2 强制离开 for 循环——break 
指令 .............................................. 143 
7-3-3 for 循环暂时停止不往下执行—— 
continue 指令 ................................ 144 
7-3-4 for … else 循环 ............................. 146 
7-4? while 循环...............................147 
7-4-1 基本 while 循环 ............................ 148 
7-4-2 认识哨兵值 ................................... 149 
7-4-3 预测学费 ....................................... 149 
7-4-4 嵌套 while 循环 ............................ 150 
7-4-5 强制离开 while 循环——break 
指令 .............................................. 150 
7-4-6 while 循环暂时停止——continue 
指令 .............................................. 151 
7-4-7 while 循环条件表达式与可迭代 
对象 .............................................. 152 
7-4-8 无限循环与 pass ........................... 153 
7-5? enumerate 对象使用 for 循环 
? ? 解析 .......................................153 
7-6? 专题——购物车设计 / 成绩系统 / 
? ? 圆周率 ....................................155 
7-6-1 设计购物车系统 ........................... 155 
7-6-2 建立真实的成绩系统 ................... 156 
7-6-3 计算圆周率 ................................... 157 
习题 ........................................................... 158 
第 8 章? 元组 
8-1? 元组的定义..............................163 
8-2? 读取元组元素...........................164 
8-3? 遍历所有元组元素.....................164 
8-4? 修改元组内容产生错误的实例.....164 
8-5? 使用全新定义方式修改元组 
? ? 元素 .......................................165 
8-6? 元组切片 .................................165 
8-8? 列表与元组数据互换 .................167 
8-9? 其他常用的元组方法 .................168 
8-10? enumerate 对象在元组中的 
? ? ? 使用 .....................................168 
8-11? 使用 zip( ) 打包多个对象..........169 
8-12? 生成式 ..................................171 
8-13? 制作大型的元组数据................171 
8-14? 元组的功能 ............................172 
8-15? 专题——认识元组 / 统计应用....172 
8-15-1 认识元组 ..................................... 172 
8-15-2 基础统计应用 ............................. 173 
习题 ........................................................... 173 
第 9 章? 字典 
9-1? 字典的基本操作........................176 
9-1-1 定义字典 .................................... 176 
9-1-2 列出字典元素的值 ....................... 177 
9-1-3 增加字典元素 ............................... 178 
9-1-4 更改字典元素内容 ....................... 179 
9-1-5 删除字典特定元素 ....................... 179 
9-1-6 字典的 pop( ) 方法 ....................... 180 
9-1-7 字典的 popitem( ) 方法 ................ 180 
9-1-8 删除字典所有元素 ....................... 181 
9-1-9 删除字典 ....................................... 181 
9-1-10 建立一个空字典 ......................... 182 
9-1-11 字典的复制 ................................. 182 
9-1-12 取得字典元素数量 ..................... 183 
9-1-13 验证元素是否存在 ..................... 183 
9-1-14 设计字典的可读性技巧.............. 184 
9-1-15 合并字典 update( ) ...................... 185 
9-1-16 dict( ) ........................................... 185 
9-1-17 再谈 zip( ) ................................... 186 
9-1-18 人工智能——语意分析.............. 186 
9-2? 遍历字典 .................................186 
9-2-1 遍历字典的键 :值 ....................... 187 
9-2-2 遍历字典的键 ............................... 188 
9-2-3 依键排序与遍历字典 ................... 189 
9-2-4 遍历字典的值 ............................... 189 
9-2-5 依值排序与遍历字典的值
9-3? 建立字典列表...........................190 
9-4? 字典内键的值是列表 .................192 
9-5? 字典内键的值是字典 .................193 
9-6? while 循环在字典中的应用.........194 
9-7? 字典常用的函数和方法 ..............194 
9-7-1 len( ) .............................................. 194 
9-7-2 fromkeys( ) .................................... 195 
9-7-3 get( ) .............................................. 196 
9-7-4 setdefault( ) ................................... 196 
9-8? 制作大型的字典数据 .................197 
9-9? 专题——文件分析 / 字典生成式 / 
? ? ? 英汉字典 / 文件加密.................198 
9-9-1 传统方式分析文章的文字与字数 198 
9-9-2 字典生成式 ................................... 199 
9-9-3 设计季节的英汉字典 ................... 199 
9-9-4 文件加密 ....................................... 200 
习题 ........................................................... 201 
第 10 章? 集合 
10-1? 建立集合 ...............................205 
10-1-1 使用大括号建立集合 ................. 205 
10-1-2 使用 set( ) 函数定义集合 ........... 206 
10-1-3 大数据与集合的应用 ................. 207 
10-2? 集合的操作 ............................208 
10-2-1 交集 ............................................. 208 
10-2-2 联集 ............................................. 209 
10-2-3 差集 ............................................. 210 
10-2-4 对称差集 ..................................... 211 
10-2-5 等于 ............................................. 212 
10-2-6 不等于 ......................................... 212 
10-2-7 是成员 in ..................................... 212 
10-2-8 不是成员 not in ........................... 213 
10-3? 适用集合的方法......................214 
10-3-1 add( ) ........................................... 214 
10-3-2 copy( ) ......................................... 215 
10-3-3 remove( ) ..................................... 215 
10-3-4 discard( ) ..................................... 216 
10-3-5 pop( ) ........................................... 216 
10-3-6 clear( ) ......................................... 217 
10-3-7 isdisjoint( ) .................................. 217 
10-3-8 issubset( ) .................................... 218 
10-3-9 issuperset( ) ................................. 219 
10-3-10 intersection_update( ) ................ 219 
10-3-11 update( ) .................................... 220 
10-3-12 difference_update( ) .................. 221 
10-3-13 symmetric_difference_ 
update( ) .................................... 221 
10-4? 适用于集合的基本函数操作 ......222 
10-5? 冻结集合 frozenset ................222 
10-6? 专题——夏令营程序 / 程序效率 / 
? ? ? 集合生成式 / 鸡尾酒实例..........223 
10-6-1 夏令营程序设计 ......................... 223 
10-6-2 集合生成式 ................................. 223 
10-6-3 提高程序效率 ............................. 224 
10-6-4 鸡尾酒的实例 ............................. 224 
习题 ........................................................... 225 
第 11 章? 函数设计 
11-1? Python 函数基本概念 .............229 
11-1-1 函数的定义 ................................. 229 
11-1-2 没有传入参数也没有返回值的 
函数 ............................................ 230 
11-1-3 在 Python Shell 中执行函数 ....... 231 
11-2? 函数的参数设计......................231 
11-2-1 传递一个参数 ............................. 231 
11-2-2 多个参数传递 ............................. 232 
11-2-3 关键词参数 :参数名称 = 值 ...... 233 
11-2-4 参数默认值的处理 ..................... 234 
11-3? 函数返回值 ............................235 
11-3-1 返回 None ................................... 235 
11-3-2 简单返回数值数据 ..................... 237 
11-3-3 返回多个数据的应用.................. 238 
11-3-4 简单返回字符串数据.................. 238 
11-3-5 再谈参数默认值 ......................... 239 
11-3-6 函数返回字典数据 ..................... 239 
11-3-7 将循环应用于建立 VIP 会员 
字典 ............................................ 240 
11-4-1 基本传递列表参数的应用 .......... 241 
11-4-2 观察传递一般变量与列表变量到 
函数的区别 ................................. 242 
11-4-3 在函数内修改列表的内容 .......... 243 
11-4-4 使用副本传递列表 ..................... 244 
11-4-5 传递列表的提醒 ......................... 245 
11-5? 传递任意数量的参数................246 
11-5-1 传递处理任意数量的参数 .......... 246 
11-5-2 设计含有一般参数与任意数量 
参数的函数 ................................. 248 
11-5-3 设计含有一般参数与任意数量 
的关键词参数 ............................. 248 
11-6? 进一步认识函数......................249 
11-6-1 函数文件字符串 docstring .......... 249 
11-6-2 函数是一个对象 ......................... 250 
11-6-3 函数可以是数据结构成员 .......... 250 
11-6-4 函数可以当作参数传递给其他 
函数 ............................................ 251 
11-6-5 函数当作参数与 *args 不定量的 
参数 ............................................ 252 
11-6-6 嵌套函数 ..................................... 252 
11-6-7 函数也可以当作返回值 ............. 252 
11-6-8 闭包 closure ................................ 253 
11-7? 递归式函数设计......................254 
11-8? 局部变量与全局变量................255 
11-8-1 全局变量可以在所有函 
数中使用..................................... 256 
11-8-2 局部变量与全局变量使用相同 
的名称 ........................................ 256 
11-8-3 程序设计注意事项 ..................... 257 
11-8-4 locals( ) 和 globals( ) ................... 258 
11-9? 匿名函数 lambda ...................259 
11-9-1 匿名函数 lambda 的语法 ............ 259 
11-9-2 使用 lambda 匿名函数的时机 .... 260 
11-9-3 匿名函数应用于高阶函数的 
参数 ............................................ 260 
11-9-4 匿名函数的使用与 fifilter( ) ......... 261 
11-9-5 匿名函数的使用与 map( ) .......... 262 
11-9-6 匿名函数的使用与 reduce( ) ...... 263 
11-10? pass 与函数 ........................264 
11-11? type 关键词应用于函数 .........264 
11-12? 设计自己的 range( ) .............265 
11-13? 装饰器 ................................265 
11-14? 专题——函数的应用 / 最大公约数 / 
???? 质数...................................269 
11-14-1 用函数重新设计记录一篇文章 
每个单词出现次数 ................... 269 
11-14-2 最大公约数 ............................... 269 
11-14-3 质数 ........................................... 270 
习题 ........................................................... 270 
第 12 章? 类—面向对象的程序设计 
12-1? 类的定义与使用......................276 
12-1-1 定义类 ......................................... 276 
12-1-2 操作类的属性与方法 ................. 276 
12-1-3 类的建构方法 ............................. 277 
12-1-4 属性初始值的设置 ..................... 279 
12-2? 类的访问权限—封装 ............280 
12-2-1 私有属性 ..................................... 280 
12-2-2 私有方法 ..................................... 281 
12-2-3 从存取属性值看 Python 风格 
property( ) ................................... 282 
12-2-4 装饰器 @property ....................... 284 
12-2-5 方法与属性的类型 ..................... 285 
12-2-6 静态方法 ..................................... 286 
12-3? 类的继承 ...............................286 
12-3-1 衍生类继承基类的实例应用 ...... 287 
12-3-2 如何取得基类的私有属性 .......... 288 
12-3-3 衍生类与基类有相同名称的 
属性 ............................................ 288 
12-3-4 衍生类与基类有相同名称的 
方法 ............................................ 289 
12-3-5 衍生类引用基类的方法.............. 291 
12-3-6 衍生类有自己的方法 ................. 291 
12-3-7 “三代同堂”的类与取得基类的 
属性 super( ) ............................... 292 
12-3-8 兄弟类属性的取得
12-3-9 认识 Python 类方法的 self 
参数 ............................................ 294 
12-4? 多态 .....................................295 
12-5? 多重继承 ...............................296 
12-5-1 基本概念 .................................. 296 
12-5-2 super( ) 应用于多重继承的 
问题 ............................................ 298 
12-6? type 与 instance....................299 
12-6-1 type( ) .......................................... 299 
12-6-2 isinstance( ) ................................. 300 
12-7? 特殊属性 ...............................301 
12-7-1 文件字符串 __doc__ .................. 301 
12-7-2 __name__ 属性 ........................... 302 
12-8? 类的特殊方法.........................303 
12-8-1 __str__( ) 方法 ............................ 303 
12-8-2 __repr__( ) 方法 .......................... 304 
12-8-3 __iter__( ) 方法 ........................... 304 
12-8-4 __eq__( ) 方法 ............................ 305 
12-9? 专题——几何数据的应用..........306 
习题 ........................................................... 307 
第 13 章? 设计与应用模块 
13-1? 将自建的函数存储在模块中 ......311 
13-1-1 准备工作 ..................................... 311 
13-1-2 建立函数内容的模块 ................. 312 
13-2? 应用自己建立的函数模块 .........312 
13-2-1 import 模块名称 ......................... 312 
13-2-2 导入模块内特定单一函数 .......... 313 
13-2-3 导入模块内多个函数 ................. 313 
13-2-4 导入模块所有函数 ..................... 314 
13-2-5 使用 as 给函数指定替代名称 .... 314 
13-2-6 使用 as 给模块指定替代名称 .... 314 
13-3? 将自建的类存储在模块内 .........315 
13-3-1 准备工作 ..................................... 315 
13-3-2 建立类内容的模块 ..................... 316 
13-4? 应用自己建立的类模块 ............316 
13-4-1 导入模块的单一类 ..................... 316 
13-4-2 导入模块的多个类 ..................... 317 
13-4-3 导入模块内所有类 ..................... 317 
13-4-4 import 模块名称 ......................... 317 
13-4-5 模块内导入另一个模块的类 ...... 318 
13-5? 随机数 random 模块...............319 
13-5-1 randint( ) ...................................... 319 
13-5-2 choice( ) ...................................... 321 
13-5-3 shufflfle( ) ...................................... 322 
13-5-4 sample( ) ...................................... 322 
13-5-5 uniform( ) .................................... 322 
13-5-6 random( ) ..................................... 323 
13-6? 时间 time 模块 .......................323 
13-6-1 time( ) .......................................... 323 
13-6-2 sleep( ) ......................................... 324 
13-6-3 asctime( ) ..................................... 325 
13-6-4 localtime( ) .................................. 325 
13-7? 系统 sys 模块 ........................326 
13-7-1 version 和 version_info 属性 ...... 326 
13-7-2 stdin 对象 .................................... 326 
13-7-3 stdout 对象 .................................. 327 
13-7-4 platform 属性 .............................. 327 
13-7-5 path 属性 ..................................... 328 
13-7-6 getwindowsversion( ) .................. 328 
13-7-7 executable.................................... 328 
13-7-8 获得 getrecursionlimit( ) 与设置 
setrecursionlimit( ) 循环次数 ..... 329 
13-7-9 DOS 命令行自变量 .................... 329 
13-8? keyword 模块........................329 
13-8-1 kwlist 属性 .................................. 329 
13-8-2 iskeyword( ) ................................ 330 
13-9? 日期 calendar 模块 ................330 
13-9-1 列出某年是否闰年 isleap( ) ....... 330 
13-9-2 打印月历 month( ) ...................... 331 
13-9-3 打印年历 calendar( ) ................... 331 
13-10? 几个增强 Python 功力的模块 .332 
13-10-1 collections 模块 ......................... 332 
13-10-2 pprint 模块 ................................ 336 
13-10-3 itertools 模块 ............................. 337 
13-11? 专题——赌场游戏骗局 / 
13-11-1 赌场游戏骗局 ........................... 338 
13-11-2 蒙特卡罗模拟 ........................... 339 
13-11-3 再谈文件加密 ........................... 340 
13-11-4 只有自己可以破解的加密 
程序 .......................................... 341 
习题 ........................................................... 342 
第 14 章 文件的读取与写入 
14-1? 文件夹与文件路径...................346 
14-1-1 绝对路径与相对路径 ................. 346 
14-1-2 os 模块与 os.path 模块 ............... 346 
14-1-3 取得目前工作目录 os. 
getcwd( ) ..................................... 347 
14-1-4 取得绝对路径 os.path.abspath .... 347 
14-1-5 返回特定路段相对路径 os. 
path.relpath( ) .............................. 347 
14-1-6 检查路径方法 exist/isabs/isdir/ 
isfifile ............................................ 348 
14-1-7 文件与目录的操作 mkdir/rmdir/ 
remove/chdir ............................... 348 
14-1-8 返回文件路径 os.path.join( ) ...... 350 
14-1-9 获得特定文件的大小 os.path. 
getsize( ) ..................................... 350 
14-1-10 获得特定工作目录的内容 
os.listdir( ) ................................. 351 
14-1-11 获得特定工作目录内容 glob .... 352 
14-1-12 遍历目录树 os.walk( ) .............. 352 
14-2? 读取文件 ...............................353 
14-2-1 读取整个文件 read( ) .................. 354 
14-2-2 with 关键词 ................................. 354 
14-2-3 逐行读取文件内容 ..................... 355 
14-2-4 逐行读取使用 readlines( ) .......... 356 
14-2-5 数据组合 ..................................... 357 
14-2-6 字符串的替换 ............................. 357 
14-2-7 数据的查找 ................................. 358 
14-2-8 数据查找使用 fifind( ) .................. 358 
14-2-9 数据查找 rfifind( ) ......................... 359 
14-2-10 分批读取文件数据 ................... 359 
14-3? 写入文件 ...............................360 
14-3-1 将执行结果写入空的文件内 ...... 360 
14-3-2 写入数值资料 ............................. 361 
14-3-3 输出多行数据的实例 ................. 362 
14-3-4 建立附加文件 ............................. 362 
14-3-5 文件很长时的分段写入.............. 363 
14-4? 读取和写入二进制文件 ............364 
14-4-1 复制二进制文件 ......................... 364 
14-4-2 随机读取二进制文件 ................. 365 
14-5? shutil 模块.............................366 
14-5-1 文件的复制 copy( ) ..................... 366 
14-5-2 目录的复制 copytree( ) ............... 366 
14-5-3 文件的移动 move( ) .................... 367 
14-5-4 文件名的更改 move( ) ................ 367 
14-5-5 目录的移动 move( ) .................... 368 
14-5-6 更改目录名称 move( ) ................ 368 
14-5-7 删除有数据的目录 rmtree( ) ...... 368 
14-5-8 安全删除文件或目录 
send2trash( ) ................................ 369 
14-6? 文件压缩与解压缩...................369 
14-6-1 执行文件或目录的压缩.............. 369 
14-6-2 读取 zip 文件 .............................. 370 
14-6-3 解压缩 zip 文件 .......................... 371 
14-7? 认识编码格式 encode.............371 
14-7-1 繁体中文 Windows 操作系统 
记事本默认的编码 ..................... 371 
14-7-2 utf-8 编码 .................................... 372 
14-7-3 认识 utf-8 编码的 BOM ............. 373 
14-8? 剪贴板的应用.........................374 
14-9? 专题—分析文件 / 加密文件....375 
14-9-1 以读取文件方式处理分析文件 ... 375 
14-9-2 加密文件 ..................................... 376 
习题
第 15 章? 程序除错与异常处理 
15-1? 程序异常?...............................382 
15-1-1 一个除数为 0 的错误 ................. 382 
15-1-2 撰写异常处理程序 try - except .. 382 
15-1-3 try - except - else ......................... 384 
15-1-4 找不到文件的错误 
FileNotFoundError ...................... 384 
15-1-5 分析单一文件的字数 ................. 385 
15-1-6 分析多个文件的字数 ................. 386 
15-2? 设计多组异常处理程序?............386 
15-2-1 常见的异常对象 ......................... 387 
15-2-2 设计捕捉多个异常 ..................... 388 
15-2-3 使用一个 except 捕捉多个 
异常 ............................................ 388 
15-2-4 处理异常但是使用 Python 内建 
的错误消息 ................................. 389 
15-2-5 捕捉所有异常 ............................. 389 
15-3? 丢出异常?...............................390 
15-4? 记录 Traceback 字符串?..........391 
15-5? finally?...................................393 
15-6? 程序断言 assert?.....................393 
15-6-1 设计断言 ................................. 393 
15-6-2 停用断言 ..................................... 396 
15-7? 程序日志模块 logging?.............396 
15-7-1 logging 模块 ................................ 396 
15-7-2 logging 的等级 ............................ 397 
15-7-3 格式化 logging 消息输出 format... 398 
15-7-4 时间信息 asctime ........................ 398 
15-7-5 format 内的 message ................... 399 
15-7-6 列出 levelname ........................... 399 
15-7-7 使用 logging 列出变量变化的 
应用 ............................................ 400 
15-7-8 正式追踪 factorial 数值的应用 .. 400 
15-7-9 将程序日志 logging 输出到 
文件 ............................................ 401 
15-7-10 隐藏程序日志 logging 的 DEBUG 
等级使用 CRITICAL ................ 402 
15-7-11 停用程序日志 logging .............. 402 
15-8? 程序除错的典故?......................402 
习题 ........................................................... 403 
第 16 章? 正则表达式 
16-1? 使用 Python 硬功夫查找文字?...407 
16-2? 正则表达式的基础?...................409 
16-2-1 建立查找字符串模式 ................. 409 
16-2-2 使用 re.compile( ) 建立 Regex 
对象 ............................................ 409 
16-2-3 查找对象 ..................................... 409 
16-2-4 fifi ndall( ) ....................................... 410 
16-2-5 再看 re 模块 ................................ 411 
16-2-6 再看正则表达式 ......................... 412 
16-3? 更多查找比对模式?...................412 
16-3-1 使用小括号分组 ......................... 412 
16-3-2 groups( ) ...................................... 413 
16-3-3 区域号码是在小括号内.............. 414 
16-3-4 使用管道 | ................................... 414 
16-3-5 多个分组的管道查找 ................. 415 
16-3-6 使用 ? 做查找 ............................. 416 
16-3-7 使用 * 号做查找 ......................... 416 
16-3-8 使用 + 号做查找 ......................... 417 
16-3-9 查找时忽略大小写 ..................... 418 
16-4? 贪婪与非贪婪查找?...................418 
16-4-1 查找时使用大括号设置比对 
次数 ............................................ 418 
16-4-2 贪婪与非贪婪查找
16-5? 正则表达式的特殊字符 ............420 
16-5-1 特殊字符表 ................................. 420 
16-5-2 字符分类 ..................................... 421 
16-5-3 字符分类的 ^ 字符 ..................... 421 
16-5-4 正则表示法的 ^ 字符.................. 422 
16-5-5 正则表示法的 $ 字符 ................. 422 
16-5-6 单一字符使用通配符“.”........... 424 
16-5-7 所有字符使用通配符“.*” ......... 424 
16-5-8 换行字符的处理 ......................... 424 
16-6? MatchObject 对象 .................425 
16-6-1 re.match( ) ................................... 425 
16-6-2 MatchObject 几个重要的方法 .... 426 
16-7? 抢救 CIA 情报员——sub( ) 
? ? ? 方法 .....................................427 
16-7-1 一般的应用 ................................. 427 
16-7-2 抢救 CIA 情报员 ........................ 428 
16-8? 处理比较复杂的正则表示法 ......428 
16-8-1 将正则表达式拆成多行字符串 .. 429 
16-8-2 re.VERBOSE .............................. 429 
16-8-3 电子邮件地址的查找 ................. 430 
16-8-4 re.IGNORECASE/re.DOTALL/ 
re.VERBOSE .............................. 430 
习题 ........................................................... 431 
第 17 章? 用 Python 处理图像文件 
17-1? 认识 Pillow 模块的 RGBA .......434 
17-1-1 getrgb( ) ....................................... 434 
17-1-2 getcolor( ) .................................... 434 
17-2? Pillow 模块的盒子元组 ............435 
17-2-1 基本概念 ..................................... 435 
17-2-2 计算机眼中的图像 ..................... 436 
17-3? 图像的基本操作......................436 
17-3-1 打开图像对象 ............................. 436 
17-3-2 图像大小属性 ............................. 436 
17-3-3 取得图像对象文件名 ................. 437 
17-3-4 取得图像对象的文件格式 .......... 437 
17-3-5 存储文件 ..................................... 437 
17-3-6 屏幕显示图像 ............................. 438 
17-3-7 建立新的图像对象 ..................... 438 
17-4? 图像的编辑 ............................439 
17-4-1 更改图像大小 ............................. 439 
17-4-2 图像的旋转 ................................. 440 
17-4-3 图像的翻转 ................................. 441 
17-4-4 图像像素的编辑 ......................... 442 
17-5? 裁切、复制与图像合成 ............443 
17-5-1 裁切图像 ..................................... 443 
17-5-2 复制图像 ..................................... 443 
17-5-3 图像合成 ..................................... 444 
17-5-4 将裁切图片填满图像区间 .......... 444 
17-6? 图像滤镜 ...............................445 
17-7? 在图像内绘制图案...................446 
17-7-1 绘制点 ......................................... 446 
17-7-2 绘制线条 ..................................... 446 
17-7-3 绘制圆或椭圆 ............................. 447 
17-7-4 绘制矩形 ..................................... 447 
17-7-5 绘制多边形 ................................. 448 
17-8? 在图像内填写文字...................448 
17-9? 专题——建立 QR code/ 辨识 
? ? ? 车牌与建立停车场管理系统......450 
17-9-1 建立 QR code .............................. 450 
17-9-2 文字辨识与停车场管理系统 ...... 455 
17-9-3 辨识繁体中文 ............................. 459 
17-9-4 辨识简体中文 ............................. 460 
17-10? 专题——词云 (Word Cloud) 
? ? ? ? 设计....................................460 
17-10-1 安装 Word Cloud ...................... 460 
17-10-2 我的第一个词云程序 ............... 461 
17-10-3 建立含中文字的词云结果失败 462 
17-10-4 建立含中文字的词云 ............... 463 
17-10-5 进一步认识 jieba 模块的分词 .. 466 
17-10-6 建立含图片背景的词云............ 467 
习题 ........................................................... 469 
第 18 章? 使用 tkinter 开发 GUI 程序 
18-1? 建立窗口 ...............................474 
18-2? 标签 Label ............................475 
18-3? 窗口组件配置管理员................477 
18-3-1 pack( ) 方法
18-3-2 grid( ) 方法 .................................. 479 
18-3-3 place( ) 方法 ................................ 482 
18-3-4 窗口组件位置的总结 ................. 482 
18-4? 功能按钮 Button ....................483 
18-4-1 基本概念 ..................................... 483 
18-4-2 设置窗口背景 confifig( ) ............... 484 
18-4-3 使用 lambda 表达式的好时机 .... 485 
18-5? 变量类型 ...............................485 
18-6? 文本框 Entry .........................486 
18-7? 文字区域 Text........................490 
18-8? 滚动条 Scrollbar....................491 
18-9? 选项按钮 Radiobutton............492 
18-10? 复选框 Checkbutton ............495 
18-11? 对话框 messagebox ............496 
18-12? 图形 PhotoImage ................499 
18-12-1 图形与标签的应用 ................... 500 
18-12-2 图形与功能按钮的应用............ 500 
18-13? 尺度 Scale 的控制................501 
18-14? 菜单 Menu 的设计................503 
18-15? 专题——设计小计算器 ..........504 
习题 ........................................................... 506 
第 19 章? 动画与游戏 
19-1? 绘图功能 ...............................510 
19-1-1 建立画布 ..................................... 510 
19-1-2 绘制线条 create_line( ) ............... 510 
19-1-3 绘制矩形 create_rectangle( ) ...... 513 
19-1-4 绘制圆弧 create_arc( ) ................ 514 
19-1-5 绘制圆或椭圆 create_oval( ) ...... 516 
19-1-6 绘制多边形 create_polygon( ) .... 517 
19-1-7 输出文字 create_text( ) ............... 517 
19-1-8 更改画布背景颜色 ..................... 518 
19-1-9 插入图像 create_image( ) ........... 518 
19-2? 尺度控制画布背景颜色 ............519 
19-3? 动画设计 ...............................520 
19-3-1 基本动画 ..................................... 520 
19-3-2 多个球移动的设计 ..................... 521 
19-3-3 将随机数应用于多个球体的 
移动 ............................................ 522 
19-3-4 消息绑定 ..................................... 523 
19-3-5 再谈动画设计 ............................. 524 
19-4? 反弹球游戏设计......................526 
19-4-1 设计球往下移动 ......................... 526 
19-4-2 设计让球上下反弹 ..................... 527 
19-4-3 设计让球在画布四面反弹 .......... 528 
19-4-4 建立球拍 ..................................... 529 
19-4-5 设计球拍移动 ............................. 530 
19-4-6 球拍与球碰撞的处理 ................. 531 
19-4-7 完整的游戏 ................................. 532 
19-5? 专题—使用 tkinter 处理谢尔 
? ? ? 宾斯基三角形.........................534 
习题 ........................................................... 537 
第 20 章? 数据图表的设计 
20-1? 绘制简单的折线图...................541 
20-1-1 显示绘制的图形 show( ) ............ 541 
20-1-2 画线 plot( ) .................................. 541 
20-1-3 线条宽度 linewidth ..................... 542 
20-1-4 标题的显示 ................................. 543 
20-1-5 坐标轴刻度的设置 ..................... 543 
20-1-6 修订图表的起始值 ..................... 544 
20-1-7 多组数据的应用 ......................... 545 
20-1-8 线条色彩与样式 ......................... 546 
20-1-9 刻度设计 ..................................... 548 
20-1-10 图例 legend( )............................ 549 
20-1-11 保存图表 ................................... 552 
20-2? 绘制散点图 scatter( )..............553 
20-2-1 基本散点图的绘制 ..................... 553 
20-2-2 绘制系列点 ................................. 553 
20-2-3 设置绘图区间 ............................. 555 
20-3? Numpy 模块..........................555 
20-3-1 建立一个简单的数组 linspace( ) 
和 arange( ) ................................. 556 
20-3-2 绘制波形 ..................................... 556 
20-3-3 建立宽度不等的散点图.............. 558 
20-3-4 填满区间 ..................................... 558 
23-3-5 色彩映射 ..................................... 560 
20-4-1 一个简单的应用 ......................... 563 
20-4-2 随机数的移动 ............................. 563 
20-4-3 隐藏坐标 ..................................... 564 
20-5? 绘制多个图表.........................565 
20-5-1 一个程序有多个图表 ................. 565 
20-5-2 含有子图的图表 ......................... 566 
20-6? 直方图的制作.........................568 
20-6-1 bar( ) ............................................ 568 
20-6-2 hist( ) ........................................... 570 
20-7? 圆饼图的制作 pie( ) ................571 
20-8? 图表显示中文.........................571 
20-9? 专题——股市数据读取与图表 
? ? ? 制作 .....................................572 
20-9-1 Stock( ) 建构元 ........................... 572 
20-9-2 Stock 对象属性 ........................... 573 
20-9-3 Stock 对象方法 ........................... 574 
20-9-4 取得单一股票的实时数据 .......... 576 
习题 ........................................................... 576 
第 21 章? JSON 资料 
21-1 认识 JSON 数据格式 ..............583 
21-1-1 对象(object) ............................. 583 
21-1-2 数组(array) ............................... 583 
21-1-3 JSON 数据存在方式 ................... 584 
21-2 将 Python 应用在 JSON 字符串 
??? 形式数据...............................584 
21-2-1 使用 dumps( ) 将 Python 数据 
转成 JSON 格式 ......................... 584 
21-2-2 dumps( ) 的 sort_keys 参数 ......... 585 
21-2-3 dumps( ) 的 indent 参数 .............. 586 
21-2-4 使用 loads( ) 将 JSON 格式数据 
转成 Python 数据 ....................... 586 
21-2-5 一个 JSON 文件只能放一个 
JSON 对象 .................................. 587 
21-3 将 Python 应用在 JSON 文件 ..588 
21-3-1 使用 dump( ) 将 Python 数据 
转成 JSON 文件 ......................... 588 
21-3-2 使用 load( ) 读取 JSON 文件 ..... 589 
21-3-3 将中文字典数据转成 JSON 
文件 ............................................ 589 
21-4 简单的 JSON 文件应用 ...........590 
21-5 人口数据的 JSON 文件 ...........591 
21-5-1 认识人口统计的 JSON 文件 ...... 591 
21-5-2 认识 pygal.maps.world 的国家 
代码信息..................................... 592 
第 22 章? 使用 Python 处理 CSV 文件 
22-1 建立一个 CSV 文件 ................596 
22-2 用记事本打开 CSV 文件 ..........597 
22-3 CSV 模块..............................597 
22-4 读取 CSV 文件.......................597 
22-4-1 使用 open( ) 打开 CSV 文件 ...... 597 
22-4-2 建立 Reader 对象 ........................ 597 
22-4-3 用循环列出 Reader 对象数据 .... 598 
22-4-4 用循环列出列表内容 ................. 598 
22-4-5 使用列表索引读取 CSV 内容 .... 599 
22-4-6 DictReader( ) ............................... 599 
22-5 写入 CSV 文件.......................600 
22-5-1 打开要写入的文件与关闭文件 .. 600 
22-5-2 建立 writer 对象 ......................... 601 
22-5-3 输出列表 writerow( ) .................. 601 
22-5-4 delimiter 关键词.......................... 602 
22-5-5 写入字典数据 DictWriter( ) ........ 602 
22-6 专题——使用 CSV 文件绘制 
? ? ? 气象图表...............................603 
22-6-1 台北市 2017 年 1 月气象资料 .... 603 
22-6-2 列出标题数据 ............................. 604 
22-6-3 读取最高温与最低温 ................. 605 
22-6-4 绘制最高温 ................................. 605 
22-6-5 设置绘图区大小 ......................... 606 
22-6-6 日期格式 ..................................... 606 
22-6-7 在图表增加日期刻度 ................. 607 
22-6-8 日期位置的旋转 ...................... 608 
22-6-9 绘制最高温与最低温 ................. 609 
22-6-10 填满最高温与最低温之间的 
区域 .......................................... 610 
22-6-11 后记 ........................................... 610 
习题
第 23 章? Numpy 模块 
23-1 数组 ndarray .........................613 
23-2 Numpy 的数据形态.................613 
23-3 一维数组 ...............................614 
23-3-1 认识 ndarray 的属性 ................... 614 
23-3-2 建立一维数组 ............................. 614 
23-3-3 一维数组的四则运算 ................. 616 
23-3-4 一维数组的关系运算符运算 ...... 616 
23-3-5 数组切片 ..................................... 617 
23-3-6 数组结合或是加入数组元素 ...... 617 
23-3-7 在数组指定索引位置插入元素 .. 617 
23-3-8 删除数组指定索引位置的元素 .. 617 
23-3-9 向量内积 ..................................... 618 
23-3-10 向量叉积 ................................... 618 
23-3-11 向量外积 ................................... 618 
23-3-12 将迭代运算应用在一维数组 .... 619 
23-4 二维数组 ...............................619 
23-4-1 建立二维数组 ............................. 620 
23-4-2 二维数组相对位置的四则运算 .. 621 
23-4-3 二维数组的关系运算符运算 ...... 621 
23-4-4 取得与设置二维数组元素 .......... 621 
23-4-5 二维数组切片 ............................. 622 
23-4-6 更改数组外形 ............................. 623 
23-4-7 转置矩阵 ..................................... 623 
23-4-8 将数组分割成子数组 ................. 624 
23-4-9 矩阵堆栈 ..................................... 624 
23-4-10 二维数组矩阵乘法运算............ 625 
23-4-11 将迭代运算应用在二维数组 .... 626 
23-5 简单线性代数运算...................626 
23-5-1 一元二次方程式 ......................... 626 
23-5-2 解联立线性方程式 ................. 627 
23-6 Numpy 的广播功能.................627 
23-7 常用的数学函数......................628 
23-7-1 三角函数相关知识 ..................... 628 
23-7-2 和 sum( )、积 prod( )、差 diff( ) 
函数 ............................................ 629 
23-7-3 舍去函数 ..................................... 630 
23-7-4 最大公因子与最小公倍数 .......... 631 
23-7-5 指数与对数 ................................. 631 
23-7-6 算术运算 ..................................... 632 
23-7-7 其他函数 ..................................... 632 
23-8 随机数函数 ............................634 
23-8-1 简单随机数据 ............................. 634 
23-8-2 顺序变更 ..................................... 635 
23-8-3 分布 ............................................. 636 
23-9 统计函数 ...............................637 
23-9-1 统计 ............................................. 637 
23-9-2 平均和变异数 ............................. 638 
23-10 文件的输入与输出 ...................639 
23-10-1 读取文本文件 ........................... 639 
23-10-2 写入文本文件 ........................... 640 
习题 ........................................................... 640 
第 24 章? Scipy 模块 
24-1 线性代数 scipy.linalg..............644 
24-1-1 解联立线性方程式 ..................... 644 
24-1-2 计算行列式 Determinant ............ 645 
24-1-3 特征值和特征向量 ..................... 645 
24-2 统计 scipy.stats.....................646 
24-2-1 离散均匀分布 Uniform discrete 
distribution .................................. 646 
24-2-2 二项分布 Binomial distribution .. 648 
24-2-3 连续常态分布 ............................. 649 
24-3 优化 scipy.optimize ...............653 
24-3-1 解一元二次方程式的根.............. 653 
24-3-2 解联立线性方程式 ..................... 653 
24-3-3 计算 2 个线性方程式的交叉点 .. 654 
24-3-4 找出线性方程式的最小值和 
最大值 ........................................ 655 
24-4 插值 scipy.interpolate............657 
习题 ........................................................... 659 
第 25 章? Pandas 模块 
25-1 Series..................................662 
25-1-1 使用列表 list 建立 Series 对象 ... 662 
25-1-2 使用 Python 字典 dict 建立 
Series 对象 .................................. 663
25-1-3 使用 Numpy 的 ndarray 建立 Series 
对象 ............................................ 663 
25-1-4 建立含索引的 Series 对象 .......... 663 
25-1-5 使用纯量建立 Series 对象 .......... 664 
25-1-6 列出 Series 对象索引与值 .......... 664 
25-1-7 Series 的运算 .............................. 664 
25-2 DataFrame...........................666 
25-2-1 建立 DataFrame 使用 Series ....... 666 
25-2-2 字段 columns 属性 ...................... 667 
25-2-3 Series 对象的 name 属性 ............ 667 
25-2-4 使用元素是字典的列表建立 
DataFrame ................................... 668 
25-2-5 使用字典建立 DataFrame ........... 668 
25-2-6 index 属性 ................................... 669 
25-2-7 将 columns 字段当作 DataFrame 
对象的 index ............................... 669 
25-3 基本 Pandas 数据分析与处理 ..670 
25-3-1 索引参照属性 ............................. 670 
25-3-2 直接索引 ..................................... 671 
25-3-3 四则运算方法 ............................. 672 
25-3-4 逻辑运算方法 ............................. 672 
25-3-5 Numpy 的函数应用在 Pandas .... 673 
25-3-6 NaN 相关的运算 ......................... 673 
25-3-7 NaN 的处理 ................................ 674 
25-3-8 几个简单的统计函数 ................. 675 
25-3-9 增加 index ................................... 676 
25-3-10 删除 index ................................. 677 
25-3-11 排序 ........................................... 677 
25-4 文件的输入与输出...................678 
25-4-1 写入 CSV 格式文件.................... 678 
25-4-2 读取 CSV 格式文件.................... 679 
25-5 Pandas 绘图 .........................679 
25-5-1 使用 Series 绘制折线图表 .......... 680 
25-5-2 使用 DataFrame 绘制图表的 
基本知识..................................... 680 
25-5-3 柱形图的设计 ............................. 681 
25-5-4 一个图表含不同数值数据 .......... 682 
25-5-5 多个数值轴的设计 ..................... 683 
25-5-6 使用 Series 对象设计圆饼图 ...... 684 
25-6 时间序列(Time Series)
........685 
25-6-1 时间模块 datetime ...................... 685 
25-6-2 使用 Python 的 datetime 模块 
建立含时间戳的 Series 对象 ...... 687 
25-6-3 Pandas 的时间区间方法 ............. 689 
25-6-4 将时间序列绘制折线图.............. 691 
25-7 专题——鸢尾花......................691 
25-7-1 网络爬虫 ..................................... 692 
25-7-2 将鸢尾花数据集转成 DataFrame ... 693 
25-7-3 散点图的制作 ............................. 693 
25-7-4 鸢尾花分类统计与柱形图 .......... 695 
习题 ........................................................... 696 
附录 A? 安装 Python.....................699 
在 Windows 操作系统中安装 Python...700 
附录 B? 安装第三方模块 ................ 702 
B-1? pip 工具 ..............................703 
B-1-1 在 Windows 系统中将 Python 3.7 
安装在 C:\ ..................................... 703 
B-1-2 将 Python 3.7 安装在硬盘 
更深层 .......................................... 703 
B-2? 启动 DOS 与安装模块 ..............704 
B-2-1 DOS 环境 ..................................... 704 
B-2-2 DOS 命令提示字符 ...................... 705 
B-3? 导入模块安装更新版模块...........705 
B-4? 列出所安装的模块 ....................706 
B-5? 安装更新版模块 .......................706 
B-6? 刪除模块.................................706 
B-7? 查找更多模块 ..........................706 
B-8? 安装新版 pip ...........................706 
附录 C? 函数或方法索引表............. 707 
附录 D? RGB 色彩表.....................714 
附录 E? ASCII 码值表 ................... 720