本书介绍了使用Python语言进行程序设计的方法及其应用。全书共14章,分为三部分。第一部分为基础篇(第1~5章),主要介绍Python的基础语法,包括Python语言的概述,Python的基本数据类型、变量、运算符、表达式等概念,三种程序的基本控制结构,函数,列表、元组、集合与字典四种简单数据结构。第二部分为进阶篇(第6~10章),主要介绍Python的一些高级特性和功能,包括模块和包的使用,字符串的处理,Python的面向对象编程,异常处理和文件处理。第三部分为应用篇(第11~14章),主要介绍Python在某些领域的应用方法,包括GUI程序开发、数据管理和数据库管理、Web开发及多任务编程。本书既可以作为高等院校计算机与软件相关专业的教材,也可以作为软件从业人员的学习指导用书。
前 言
Python是一种解释型、支持面向对象特性的、动态数据类型的高级程序设计语言。自从20世纪90年代Python公开发布以来,经过二十多年的发展,Python以其语法简洁而高效、类库丰富而强大、适合快速开发等原因,成为当下最流行的脚本语言之一,也广泛应用到了统计分析、计算可视化、图像工程、网站开发等许多专业领域。
相比于C++、Java等语言来说,Python更加易于学习和掌握,并且可以利用其大量的内置函数与丰富的扩展库来快速实现许多复杂的功能。在Python语言的学习过程中,仍然需要通过不断地练习与体会来熟悉Python的编程模式,尽量不要将其他语言的编程风格用在Python中,而要从自然、简洁的角度出发,以免设计出低效率的Python程序。
本书的主要特色如下。
知识技术全面准确:本书主要针对国内计算机相关专业的高校学生以及程序设计爱好者们,详细介绍了Python语言的各种规则和规范,以便让读者能够全面掌握这门语言,从而设计出优秀的程序。
内容架构循序渐进:本书的知识脉络清晰明了,基础篇主要介绍Python的基本语法规则,提高篇主要讲解一些更加深层的概念,而应用篇则说明Python在具体应用场景中应当如何使用。本书内容由浅入深,便于读者理解和掌握。
代码实例丰富完整:对于书中每一个知识点都会配有一些示例代码并辅助相关说明文字及运行结果,还会在某些章节中对一些经典的程序设计问题进行深入的讲解和探讨。读者可以参考源程序上机操作,加深体会。
本书中所有代码均能在Python 2.7.11中成功运行;对其稍加调整后也可以适用于Python 3.x。
由于Python的教学方法本身还在探索之中,加之编者的水平和能力有限,本书难免有疏漏之处,恳请各位同仁和广大读者批评指正,也希望各位能就实践过程中的经验和心得与编者进行交流(编者邮箱:yunxianglu@hotmail.com)。
编 者
查看全部↓
吕云翔,任职于北京航空航天大学,具有多年的软件开发、项目管理、计算机教学经验。
目 录
基 础 篇
第1章 Python语言概述 2
1.1 Python简史 2
1.2 Python的语言特点 3
1.3 搭建Python开发环境 4
1.3.1 Python的下载与安装 4
1.3.2 Python命令行的使用 8
1.4 Python的开发工具 8
1.4.1 IDLE 9
1.4.2 PyCharm 9
1.4.3 Eclipse 10
1.5 第一个Python程序―Hello, World 11
1.6 Python的编码规范 12
1.6.1 命名规则 12
1.6.2 代码缩进 12
1.6.3 使用空行分隔代码 13
1.6.4 语句的分隔 13
小结 14
习题 14
第2章 Python基本概念 15
2.1 基本数据类型 15
2.2 变量 17
2.2.1 变量的命名 17
2.2.2 变量的创建 18
2.3 运算符 19
2.3.1 算术运算符 19
2.3.2 关系运算符 19
2.3.3 逻辑运算符 20
2.3.4 位运算符 20
2.3.5 身份运算符 21
2.3.6 成员运算符 21
2.4 表达式 22
2.4.1 算术表达式 22
2.4.2 优先级 22
2.5 赋值语句 23
2.5.1 赋值运算符 23
2.5.2 增强型赋值运算符 24
2.6 常用模块与函数 25
2.6.1 常用内置函数 25
2.6.2 常用模块及函数 27
2.7 基本输入/输出 28
2.7.1 基本输出 29
2.7.2 基本输入 29
小结 31
习题 31
第3章 Python控制结构 33
3.1 三种基本控制结构 33
3.2 选择结构 33
3.2.1 单选择结构―if语句 33
3.2.2 双选择结构―if-else语句 35
3.2.3 多选择结构―if-elif-else语句 36
3.2.4 选择结构的嵌套 38
3.3 实例:使用选择结构进行程序设计 39
3.3.1 鉴别合法日期 39
3.3.2 判断两个圆的位置关系 41
3.4 循环结构 45
3.4.1 while循环 45
3.4.2 for循环 47
3.4.3 break语句与continue语句 48
3.4.4 循环结构的嵌套 49
3.5 实例:使用循环结构进行程序设计 50
3.5.1 计算质数 50
3.5.2 计算π的近似值 51
小结 53
习题 53
第4章 函数 54
4.1 函数的定义 54
4.2 定义函数 54
4.3 调用函数 55
4.4 变量的作用域 56
4.5 函数的参数 57
4.5.1 形参与实参 57
4.5.2 默认参数 58
4.5.3 位置参数和关键字参数 59
4.5.4 可变长度参数 60
4.6 返回多个值 61
4.7 实例:将功能封装为函数 61
4.7.1 鉴别合法日期 61
4.7.2 封装turtle模块图形函数 63
4.8 递归 65
4.9 实例:使用递归解决问题 67
4.9.1 实例:计算斐波那契数 67
4.9.2 实例:汉诺塔 68
4.10 lambda表达式 71
4.11 生成器 72
小结 73
习题 73
第5章 Python数据结构 75
5.1 列表 75
5.1.1 列表的基本操作 75
5.1.2 列表相关的函数 78
5.1.3 在函数中使用列表 79
5.1.4 列表查找 81
5.1.5 列表排序 83
5.1.6 多维列表 86
5.2 元组 87
5.2.1 元组的基本操作 87
5.2.2 元组封装与序列拆封 89
5.2.3 元组与列表的比较 90
5.3 集合 90
5.3.1 集合的基本操作 90
5.3.2 子集与超集 91
5.3.3 集合运算 92
5.3.4 集合与列表的比较 93
5.4 字典 93
5.4.1 字典的基本操作 94
5.4.2 字典相关的函数 95
5.5 实例:使用数据结构进行程序设计 96
5.5.1 计算质数 96
5.5.2 词频统计 98
小结 99
习题 99
进 阶 篇
第6章 使用模块 101
6.1 模块的创建 101
6.2 模块的导入 102
6.3 包 103
6.3.1 模块组织成包 103
6.3.2 从包中导入 104
6.3.3 包内引用 104
6.4 第三方包的安装 105
小结 105
习题 106
第7章 字符串与正则表达式 107
7.1 字符串的基本操作 107
7.2 字符串相关函数 108
7.3 格式化字符串 110
7.4 实例:使用字符串进行程序设计 112
7.4.1 检测回文串 112
7.4.2 字符串的简单加密 113
7.5 字符编码 117
7.5.1 字符编码方式 117
7.5.2 使用Python处理中文 118
7.6 正则表达式 119
7.6.1 正则表达式简介 120
7.6.2 使用re模块处理正则表达式 122
7.7 实例:使用正则表达式进行程序设计 124
7.7.1 用户注册信息格式校验 124
7.7.2 模拟scanf函数 126
小结 127
习题 127
第8章 面向对象编程 129
8.1 面向对象的概念 129
8.2 类与对象 129
8.2.1 定义一个类 130
8.2.2 构造类的对象 131
8.2.3 定义私有成员 133
8.3 运算符重载 134
8.4 实例:进行面向对象的程序设计 138
8.4.1 Circle类的实现 138
8.4.2 Fraction类的实现 142
8.5 继承 145
小结 148
习题 148
第9章 异常处理 150
9.1 异常的概念 150
9.2 异常的抛出与捕获 151
9.2.1 使用raise关键字抛出异常 151
9.2.2 使用try...except捕获异常 152
9.2.3 使用else和finally子句处理异常 153
9.3 自定义异常 154
9.4 使用断言 155
小结 155
习题 156
第10章 文件处理 157
10.1 文件的创建与读写 157
10.1.1 文件的创建与打开 157
10.1.2 文件的写入 158
10.1.3 文件的读取 159
10.1.4 设置文件读取指针 160
10.2 文件和目录操作 161
10.2.1 文件操作 161
10.2.2 目录操作 162
10.2.3 文件和目录操作实例 163
10.3 Python的流对象 169
10.3.1 标准输入 169
10.3.2 标准输出 170
10.3.3 日志输出 170
10.4 实例:处理文件 171
10.4.1 获取文件属性 171
10.4.2 实例:获取MP3文件的元数据 173
小结 175
习题 175
应 用 篇
第11章 使用Python进行GUI开发 177
11.1 GUI编程 177
11.2 Tkinter的主要组件 178
11.2.1 标签 178
11.2.2 框架 179
11.2.3 按钮 180
11.2.4 输入框 180
11.2.5 单选按钮和复选按钮 181
11.2.6 列表框与滚动条 183
11.2.7 画布 184
11.2.8 标准对话框 186
11.3 实例:使用Tkinter进行GUI编程―三连棋游戏 188
11.3.1 用户界面设计 188
11.3.2 创建菜单 189
11.3.3 创建游戏面板 190
11.3.4 用户界面与游戏的连接 191
小结 197
习题 198
第12章 使用Python进行数据管理 199
12.1 引言 199
12.2 数据对象的持久化 200
12.2.1 使用pickle模块存取对象 200
12.2.2 使用shelve模块随机访问对象 200
12.3 使用itertools模块分析和处理数据 202
12.3.1 数据过滤函数 202
12.3.2 groupby函数 203
12.4 实例:教务信息数据分析与处理 204
12.5 Python中SQLite数据库的使用 205
12.5.1 SQLite 206
12.5.2 连接数据库 206
12.5.3 创建表 207
12.5.4 插入数据记录 207
12.5.5 查询数据记录 208
12.5.6 更新和删除数据记录 209
12.5.7 回滚与关闭数据库 209
12.6 实例:封装MySQL数据库操作 209
小结 211
习题 212
第13章 使用Python进行Web开发 213
13.1 Django 213
13.2 创建项目和模型 213
13.2.1 创建项目 213
13.2.2 数据库设置 214
13.2.3 启动服务器 215
13.2.4 创建模型 215
13.3 生成管理页面 218
13.4 构建前端页面 222
小结 225
习题 225
第14章 使用Python进行多任务编程 226
14.1 进程和线程 226
14.1.1 进程 226
14.1.2 线程 226
14.1.3 串行、并发与并行 227
14.2 Python中的多线程编程 228
14.2.1 线程的创建与管理 228
14.2.2 锁机制:线程间的同步问题 231
14.2.3 Queue模块:队列同步 234
14.3 Python中的进程编程 237
14.3.1 进程的创建与终止 237
14.3.2 实例:编写简易的控制台 239
14.3.3 使用subprocess模块进行多进程管理 239
14.3.4 进程间通信 240
小结 243
习题 243
附录A:ASCII码表 244
附录B:Python关键字 245
附录C:Python开源项目介绍 246
参考文献 249