第1章 Python的世界 1
1.1 轻松搞定Python 1
1.1.1 Python的起源 2
1.1.2 Python的版本 3
1.1.3 安装Python 3
1.1.4 测试Python 3.5软件 8
1.1.5 Python3.5有什么名堂 10
1.2 Python的IDE-IDLE 12
1.2.1 有哪些IDE软件 12
1.2.2 Python Shell 13
1.2.3 IDLE的环境设置 18
1.3 Python的编写风格 26
1.3.1 第一个Python程序 27
1.3.2 程序的缩排和注释 28
1.3.3 语句的分行和合并 28
1.3.4 程序的输入和输出 29
章节回顾 29
课后习题 30
第2章 Python基本语法 32
2.1 变量 32
2.1.1 标识符的命名规则 32
2.1.2 保留字和关键字 33
2.1.3 给变量赋值 33
2.2 认识Python的内置类型 37
2.3 Python的数据类型 38
2.3.1 整数类型 38
2.3.2 使用浮点数 41
2.3.3 复数类型 44
2.3.4 更精确的Decimal类型 44
2.3.5 例外——分数 47
2.4 使用表达式 48
2.4.1 算术运算符 48
2.4.2 赋值运算符 51
2.4.3 比较运算符 52
2.4.4 逻辑运算符 52
2.4.5 位运算符 53
章节回顾 55
课后习题 55
第3章 流程结构 57
3.1 程序设计语言结构 57
3.2 根据条件进行选择 58
3.2.1 if语句采用单向判断 58
3.2.2 if/else语句做双向判断 60
3.2.3 多重选择 62
3.3 循环语句 64
3.3.1 for循环 64
3.3.2 while循环 67
3.3.3 嵌套循环 69
3.3.4 产生随机数的random模块 71
3.4 特殊流程控制 72
3.4.1 break语句 73
3.4.2 continue语句 74
章节回顾 75
课后习题 75
第4章 序列类型与字符串 78
4.1 序列类型 78
4.1.1 序列与迭代器 79
4.1.2 创建序列数据 80
4.1.3 序列元素及其操作 80
4.1.4 与序列有关的函数 83
4.2 字符串 84
4.2.1 创建字符串 84
4.2.2 切片的概念 87
4.2.3 转义字符 91
4.2.4 字符串常用函数 92
4.3 格式化字符串 100
4.3.1 %运算符——格式字符串 100
4.3.2 内置函数format() 102
4.3.3 str.format()方法 104
章节回顾 107
课后习题 108
第5章 元组与列表 111
5.1 元组 111
5.1.1 创建元组 111
5.1.2 读取元组元素 115
5.1.3 元组的相关操作 116
5.2 列表的基本操作 119
5.2.1 创建列表 120
5.2.2 与列表有关的方法 122
5.2.3 数据排序 124
5.2.4 列表推导式 128
5.3 二维列表 133
5.3.1 产生矩阵 133
5.3.2 读取矩阵 134
5.3.3 矩阵与列表推导式 136
5.3.4 不规则列表 139
5.4 列表与复制 141
5.4.1 列表与浅复制 141
5.4.2 copy模块的copy()方法 143
5.4.3 deepcopy()方法复制对象本身 144
章节回顾 145
课后习题 145
第6章 字典和集合 148
6.1 字典 148
6.1.1 映射类型与字典 148
6.1.2 创建字典 149
6.1.3 键、值的操作 153
6.1.4 与字典有关的方法 158
6.1.5 字典推导式 161
6.2 默认字典和有序字典 163
6.2.1 默认字典 163
6.2.2 有序字典 165
6.3 集合 168
6.3.1 什么是哈希 169
6.3.2 创建集合对象 170
6.3.3 集合的相关操作 171
6.3.4 集合的数学计算 173
6.3.5 集合推导式 179
章节回顾 179
课后习题 180
第7章 函数 182
7.1 认识函数 182
7.1.1 Python的内置函数 183
7.1.2 函数基础 186
7.1.3 定义函数 186
7.1.4 调用函数 187
7.1.5 返回值 188
7.2 参数的基本机制 190
7.2.1 参数如何传递 191
7.2.2 位置参数有顺序性 193
7.2.3 默认参数值 193
7.2.4 关键字参数 197
7.3 可长可短的参数行 199
7.3.1 形式参数的*表达式 199
7.3.2 **表达式与字典配合 202
7.3.3 *运算符拆分可迭代对象 205
7.3.4 **运算符拆分字典对象 207
7.4 更多函数的讨论 211
7.4.1 作用域 211
7.4.2 函数是第一等“公民” 214
7.4.3 局部函数与闭包 216
7.4.4 lambda函数 218
7.4.5 递归 223
章节回顾 225
课后习题 226
第8章 模块与函数库 230
8.1 导入模块 230
8.1.1 命令行的参数列表 230
8.1.2 import/as语句 232
8.1.3 from/import语句 232
8.1.4 命名空间与dir()函数 233
8.2 使用模块 234
8.2.1 模块搜索路径 234
8.2.2 自定义模块 235
8.2.3 reload()函数 238
8.3 认识函数库 240
8.3.1 随机数 240
8.3.2 pprint模块让打印更有看头 243
8.4 处理时间与日期 245
8.4.1 获取时间戳的time模块 245
8.4.2 提供日期和时间的datetime模块 249
8.4.3 calendar模块 257
章节回顾 260
课后习题 260
第9章 面向对象基础 263
9.1 认识面向对象 263
9.1.1 对象具有属性和方法 264
9.1.2 类是对象的蓝图 264
9.1.3 抽象化概念 265
9.2 类与对象 265
9.2.1 定义类 266
9.2.2 先构造再初始化对象 270
9.2.3 设置、检查对象的属性 274
9.2.4 处理对象的特殊方法 275
9.3 类与修饰器 278
9.3.1 类也有属性 278
9.3.2 认识修饰器 279
9.3.3 类修饰器 284
9.3.4 类方法和静态方法 288
9.4 重载运算符 290
9.4.1 重载算术运算符 290
9.4.2 对重载加号运算符做更多了解 291
9.4.3 重载比较大小的运算符 295
章节回顾 296
课后习题 297
第10章 浅谈继承机制 299
10.1 认识继承 299
10.1.1 与继承有关的名词 299
10.1.2 继承概念 299
10.1.3 特化和泛化 300
10.1.4 组合 301
10.2 继承机制 301
10.2.1 产生继承 301
10.2.2 子类覆盖父类的方法 306
10.2.3 以特性存取属性 309
10.3 抽象类与多态 313
10.3.1 定义抽象类 313
10.3.2 多态 314
10.3.3 组合 316
章节回顾 317
课后习题 318
第11章 异常处理机制 320
11.1 什么是异常 320
11.1.1 程序错误 320
11.1.2 引发异常 321
11.1.3 内置的Exception类 321
11.2 异常处理情况 325
11.2.1 设置捕捉器 325
11.2.2 try语句究竟是如何工作的 328
11.2.3 try/else语句 329
11.2.4 try/finally语句 330
11.3 以程序抛出异常 332
11.3.1 raise语句引发异常 332
11.3.2 assert语句 335
11.3.3 用户自定义异常处理 336
章节回顾 338
课后习题 338
第12章 数据流与文件 340
12.1 认识io模块 340
12.1.1 io模块提供了什么 340
12.1.2 io模块提供的方法 341
12.1.3 TextIOBase类 343
12.2 文本文件的读和写 346
12.2.1 文件和指定模式 346
12.2.2 with/as语句 350
12.2.3 读取文本文件 351
12.2.4 浅谈文字编码 353
12.3 二进制数据 356
12.3.1 认识byte与bytearray 356
12.3.2 struct模块与二进制数据 357
12.4 文本文件并非只有文字 359
12.4.1 CSV格式 360
12.4.2 JSON格式 361
章节回顾 364
课后习题 364
第13章 GUI 366
13.1 Python GUI 366
13.1.1 GUI相关软件包 366
13.1.2 认识tkinter软件包 367
13.1.3 编写一个简单的窗口程序 369
13.2 管理版面布局 370
13.2.1 Frame为容器 371
13.2.2 版面布局——pack()方法 374
13.2.3 grid()方法用行、列决定位置 377
13.24 用坐标定位的place()方法 378
13.3 处理文字的组件 379
13.3.1 Label组件 379
13.3.2 Entry接收单行文字 381
13.3.3 Text接收多行文字 382
13.3.4 Button组件 384
13.4 选项组件 386
13.4.1 Checkbutton组件 386
13.4.2 Radiobutton组件 388
章节回顾 389
课后习题 390
第14章 GUI其他组件 392
14.1 对话框 392
14.1.1 messagebox组件 392
14.1.2 文件对话框 396
14.1.3 提供颜色的colorchooser 399
14.1.4 简易对话框 401
14.2 菜单与事件处理 403
14.2.1 使用Menu组件创建菜单 403
14.2.2 事件的触发 408
14.2.3 事件的处理 410
14.2.4 产生快捷菜单 412
14.3 Canvas绘制图形 413
14.3.1 认识Canvas组件 414
14.3.2 用鼠标绘制线条 415
14.3.3 绘制几何图形 417
章节回顾 418
课后习题 419
第15章 Django与Web 421
15.1 认识Django软件包 421
15.1.1 Web相关名词 421
15.1.2 安装Django 422
15.1.3 创建Django的Web项目 422
15.1.4 配置文件settings.py 425
15.2 视图、URL与简单模板 426
15.2.1 浅谈正则表达式 426
15.2.2 第一个视图程序 427
15.2.3 第二个视图程序 431
15.2.4 使用模板 433
15.3 模型与数据库 435
15.3.1 建立模型 435
15.3.2 从数据表读取数据 437
章节回顾 438
课后习题 439