本书先概述了Python语言的基础编程特征,引出了一些具有Python特色的概念和问题,然后着重介绍反映了Python语言特点的各种特征以及相关编程和应用技术,以期让读者了解如何使用Python语言针对实际问题进行程序开发,进而提高程序的模块化、可读性和易维护性。本书还给出了多个应用实例供读者练习实践,使其能够巩固所学知识,提高正确运用Python程序结构和技术的能力。
本书包括以下主要内容:
·Python语言的基本编程特征、Python的数据功能和重要性质。
·开发复杂和大型程序有关的问题,以及相关的Python特征和应用技术。
·程序的功能分解、信息局部化、模块化。
·Python中面向对象机制的相关概念、结构和应用技术。
·程序的模块分解和管理。
·复杂模块结构的物理组织和导入技术。
·Python语言中的各种高级机制和编程技术。
·生成器函数的定义和使用。
·利用高阶函数的闭包技术。
·错误处理的概念和Python的异常处理功能及其应用。
·装饰器的概念、定义和应用。
本书是面向学过编程、有一定编程经验的计算机专业人员,相关专业的大学生和教师的Python读物,也可作为以Python为第二门编程语言的高校课程教材或参考书。本书全面介绍了Python语言的各方面特征和应用技术,讨论了准确理解和正确使用Python语言所需要了解的深入概念和情况,还介绍了用Python开发较大型或较复杂程序时应该了解的一些高级功能,如程序的模块组织和导入系统,生成器、闭包和装饰器,基本的和高级的面向对象编程机制和技术,以及作为Python扩展的协程和异步编程等。
第 1章 Python基础 1
1.1 表达式和计算 1
1.1.1 数值计算 1
1.1.2 标准函数和数学函数包 5
1.1.3 字符串 7
1.2 变量和赋值 10
1.2.1 名字、变量和赋值 10
1.2.2 简单脚本程序 12
1.2.3 若干情况 13
1.3 逻辑和控制 14
1.3.1 条件判断和条件语句 15
1.3.2 循环语句 18
1.4 定义函数 20
1.4.1 计算的抽象:函数 21
1.4.2 递归定义的函数 25
1.4.3 比较复杂的递归问题 32
1.5 函数定义的若干问题 34
1.5.1 函数的意义 34
1.5.2 函数分解:定义和调用 36
1.5.3 程序框架和函数的函数
参数 40
1.5.4 匿名函数和lambda
表达式 44
1.5.5 作用域,嵌套的函数定义 48
1.5.6 带默认值形参和关键字
实参 53
1.6 总结和补遗 55
1.6.1 整数的位运算 55
1.6.2 基本字符集和一些词法
规则 56
1.6.3 循环语句的else段 57
1.6.4 总结 58
第 2章 数据的构造和组织 60
2.1 表和元组 60
2.1.1 表(list) 60
2.1.2 表的使用和处理 64
2.1.3 元组(tuple) 71
2.1.4 有理数程序包 75
2.2 序列和序列操作 79
2.2.1 序列和序列操作 79
2.2.2 描述式 83
2.2.3 一些程序实例 86
2.2.4 几个序列类型 89
2.3 字符串和格式化 91
2.3.1 字符串操作 91
2.3.2 字符串的格式化 95
2.4 文件 99
2.4.1 文件和输入/输出 99
2.4.2 Python的文件功能 99
2.4.3 文件处理程序实例 104
2.5 字典(dict) 106
2.5.1 概念和操作 107
2.5.2 字典的应用实例 109
2.5.3 字典与函数参数 111
2.6 集合(set和frozenset) 112
2.6.1 概念和构造 112
2.6.2 集合操作 114
2.7 程序和数据 116
2.7.1 文本处理 117
2.7.2 数据记录和信息管理 122
2.7.3 数据持久性 127
2.8 总结和补遗 129
2.8.1 函数形参和实参 129
2.8.2 拆分与组合对象描述 130
2.8.3 总结 131
第3章 深入理解Python 133
3.1 基本语义问题 133
3.1.1 变量和对象 133
3.1.2 函数和参数的语义 141
3.1.3 逻辑判断 144
3.1.4 几个问题 149
3.2 程序的语义实现 152
3.2.1 环境和状态 152
3.2.2 程序执行中的环境和
状态变化 155
3.2.3 函数定义结构和函数
调用 159
3.2.4 函数的若干问题 160
3.3 生成器函数和闭包 163
3.3.1 提取文件数据的函数 163
3.3.2 生成器函数 166
3.3.3 闭包技术和原理 170
3.3.4 编程实例 175
3.4 异常和异常处理 178
3.4.1 运行中的错误 178
3.4.2 Python异常处理和try
结构 180
3.4.3 异常处理的结构和技术 183
3.4.4 预定义异常 187
3.4.5 异常作为控制机制 189
3.5 效率 192
3.5.1 基础 192
3.5.2 一个例子 198
3.5.3 标准组合类型的实现和
操作效率 199
3.6 总结和补遗 204
3.6.1 异常处理机制补遗 204
3.6.2 生成器函数进阶 206
3.6.3 总结 210
第4章 面向对象编程 213
4.1 数据抽象、类和自定义类型 213
4.2 Python的类和对象 215
4.2.1 类的定义和使用 215
4.2.2 几个问题 221
4.2.3 简单实例 225
4.2.4 Python类、对象和方法 229
4.3 继承 230
4.3.1 继承、基类和派生类 230
4.3.2 几个简单实例 237
4.3.3 多继承 241
4.3.4 异常和类 244
4.4 特殊方法名和特殊的类 245
4.4.1 容器类和迭代器 246
4.4.2 上下文管理 248
4.4.3 一些特殊方法名和标准
函数 251
4.5 实例:链接表 255
4.5.1 基本考虑 255
4.5.2 简单单链表 257
4.5.3 带尾结点指针的单链表 264
4.5.4 双链表 266
4.5.5 讨论 269
4.6 总结和补遗 269
4.6.1 对象的定义和使用 269
4.6.2 面向对象的技术和
方法 273
4.6.3 总结 278
第5章 Python编程进阶 281
5.1 程序和模块 281
5.1.1 程序、模块和执行 282
5.1.2 导入系统 291
5.1.3 模块和程序组织 302
5.1.4 动态编译和执行 305
5.1.5 Python程序的另一些
问题 308
5.2 装饰器 310
5.2.1 函数装饰器的定义和
使用 311
5.2.2 函数装饰器实例 316
5.2.3 类装饰器 321
5.3 面向对象编程进阶 326
5.3.1 类的创建及其定制 326
5.3.2 属性管理和操作 332
5.3.3 描述器 339
5.3.4 若干面向对象技术 346
5.4 异步程序和协程 351
5.4.1 异步和并发 352
5.4.2 Python协程 354
5.4.3 异步迭代 360
5.4.4 异步上下文管理器和
async with语句 365
5.4.5 异步描述式 366
5.4.6 示例和讨论 368
5.5 总结和补遗 374
5.5.1 总结 375
5.5.2 编程技术 376
附录A Python语言简明手册 377
A.1 标识符和关键字 377
A.2 代码结构和解释器 377
A.3 基本类型和字面量 378
A.4 组合类型和描述式 378
A.5 表达式 379
A.6 语句 381
附录B 标准函数 383
B.1 描述方法说明 383
B.2 标准函数表 383
附录C IDLE开发环境 388
C.1 调试功能 388
C.2 菜单命令 390
C.3 键盘操作 393
附录D 本书中使用的标准库包 394
推荐阅读书目 395