本书以Python 3.9和Anaconda 3为编程环境。通过本书的学习,希望读者能理解和掌握Python语言的相关知识,具备较强的算法设计、编写和调试程序的能力,理解面向对象程序设计和模块化程序设计思想,掌握文件读写、图形界面、数据库、数据分析与可视化、人工智能等编程技术。
本书共16章。第1~2章介绍程序设计与编程环境;第3~7章介绍顺序、函数、选择、循环的算法与程序设计,以及Python的数据结构;第8章介绍文件处理;第9~11章介绍面向对象程序设计、模块化程序设计和异常处理;第12~16章介绍图形界面、数据库、网络爬虫、数据分析与可视化、人工智能等的编程。每章后配有针对性强的习题,供读者巩固所学知识。
(1)以算法设计、程序设计和程序调试能力培养为目标,以先算法设计、再程序设计、语言和语法、程序调试的教学过程编写。
(2)坚持立德树人的根本任务,融入思政元素,潜移默化开展思政教学。
(3)引入图形界面设计、数据库、大数据和人工智能等新技术的Python编程,具有先进性和实用性。
(4)考虑编程的学习规律和编程能力形成过程。不出现前后顺序矛盾,避免造成阅读困难。叙述简洁、可读性强。
(5)针对性强的例题与习题,方便读者学习,紧扣能力培养的目标。
(6)面向线下教学、线上线下混合教学,丰富的配套资源,有教学微视频、习题解析视频、多媒体课件、资源素材等。设置微信群,开展教师交流和服务。
(7)Python版本为3.9.1,能够适应普遍的编程要求。适应全国计算机等级考试的大纲要求。
作者任教于天津科技大学,讲授《大学计算机基础》、《C语言程序设计》、《visual Basic语言》、《visual Foxpro语言》等课程。多年来主编出版教材十余部。
第 1章 程序设计基础 1
1.1 程序设计语言 1
1.1.1 什么是程序 1
1.1.2 程序设计语言的分类 1
1.1.3 Python语言简介 2
1.2 程序设计概述 3
1.2.1 计算机系统结构 3
1.2.2 程序设计的本质 4
1.2.3 程序设计的过程 4
1.3 算法的概念和特性 5
1.3.1 什么是算法 5
1.3.2 算法举例 5
1.3.3 算法的特性 6
1.4 算法的表示方法 7
1.4.1 自然语言 7
1.4.2 伪代码 7
1.4.3 传统流程图 7
1.4.4 N-S流程图 8
1.5 结构化程序设计方法 8
习题 10
第 2章 Python编程与调试 12
2.1 Python集成开发环境IDE 12
2.1.1 Python IDLE简介 12
2.1.2 Python IDLE的Shell 13
2.1.3 Python IDLE编辑器编写和运行程序 15
2.1.4 程序错误与调试 16
2.2 Anaconda Spyder编程与调试 20
2.2.1 Spyder简介 20
2.2.2 编程、运行和调试 21
2.2.3 在线编辑与调试 错误!未定义书签。
2.3 turtle绘图 23
2.3.1 turtle简介 23
2.3.2 窗体与画布 24
2.3.3 绘图函数 25
习题 30
第3章 顺序结构程序设计与编程基础 33
3.1 顺序结构 33
3.2 Python语言基础 35
3.2.1 语句 35
3.2.2 缩进分层 35
3.2.3 注释 36
3.3 Python数据类型 37
3.3.1 数字类型 37
3.3.2 字符串类型 39
3.3.3 数据类型转换与数学函数 43
3.4 变量和常量 45
3.4.1 变量 45
3.4.2 常量 46
3.4.3 标识符与关键字 47
3.5 Python的输入和输出 48
3.5.1 标准输入函数 48
3.5.2 标准输出函数 49
3.5.3 格式占位符输出 49
3.5.4 内置函数format()输出 50
3.5.5 字符串format()方法输出 52
3.6 运算符和表达式 53
3.6.1 算术运算符 54
3.6.2 赋值运算符 55
3.6.3 关系运算符 56
3.6.4 逻辑运算符 56
3.6.5 标识运算符 57
3.6.6 位运算符 58
3.6.7 运算符的优先级 61
3.7 顺序结构程序设计 62
习题 64
第4章 函数 68
4.1 函数的定义和调用 68
4.1.1 函数定义 68
4.1.2 函数调用 69
4.1.3 函数返回值 70
4.2 函数参数 71
4.2.1 位置参数 71
4.2.2参数的传递 72
4.2.3 默认参数 72
4.2.4 关键字参数 73
4.2.5 可变参数 73
4.3 变量的作用域 74
4.4 函数的嵌套 76
4.4.1 嵌套函数 76
4.4.2 函数的嵌套调用 77
4.4 匿名函数 77
习题 79
第5章 选择结构程序设计 83
5.1 选择结构算法设计 83
5.2 if语句 87
5.3 pass语句 92
5.4 条件运算 93
5.5 选择结构的嵌套 93
5.6 递归函数 95
习题 97
第6章 循环结构程序设计 103
6.1 当型循环 103
6.2 for循环 108
6.3 break语句和continue语句 110
6.4 循环的else子句 111
6.5 循环的嵌套 112
6.6 循环结构编程举例 115
习题 119
第7章 Python数据结构 124
7.1 列表 124
7.1.1 列表的创建 124
7.1.2 访问列表元素 125
7.1.3 列表的方法 126
7.1.4 列表的遍历 129
7.2 元组 132
7.2.1 元组的创建 132
7.2.2 元组的访问与遍历 133
7.2.3 元组的方法 134
7.3 序列及其通用操作 134
7.3.1 序列的切片 135
7.3.2 序列的运算 135
7.3.3 序列的内置函数 137
7.3.4 序列的类型转换 137
7.4 字典 138
7.4.1 字典的创建 139
7.4.2 字典的基本操作 140
7.4.3 字典的方法 141
7.5 集合 144
7.5.1 集合的创建 144
7.5.2 集合的基本操作 145
7.5.3 集合的运算 147
7.6 成员运算 150
7.7 综合案例 150
习题 153
第8章 文件 158
8.1 文件简介 158
8.2 文件的打开与关闭 158
8.2.1 文件的打开 158
8.2.2 文件的关闭 159
8.2.3 读取方式打开文件 159
8.2.4 写入方式打开文件 162
8.2.5 追加方式打开文件 163
8.2.6 with open语句打开文件 165
8.3 文件的读取 166
8.3.1 read()和seek()方法 166
8.3.2 readline()方法 168
8.4 文件的写入 166
8.4.1 write()方法 170
8.4.2 writelines()方法 170
8.5 操作文件和目录 171
8.5.1 os模块 171
8.5.2 os.path文件和目录操作 173
8.6 CSV文件的读写 174
习题 175
第9章 面向对象程序设计 178
9.1 面向对象程序设计概述 178
9.1.1 面向对象程序设计思想 178
9.1.2 面向对象程序设计概念 179
9.2 Python的类和对象 179
9.2.1 类的定义 180
9.2.2 创建对象 180
9.2.3 引用 181
9.2.4 self参数 181
9.2.5 构造方法 182
9.2.6 析构方法 183
9.2.7 实例成员和类成员 183
9.2.8 静态方法 186
9.2.9 私有属性和私有方法 187
9.3 面向对象的基本特征 188
9.3.1 封装 188
9.3.2 继承 189
9.3.3 多态 192
习题 194
第 10章 模块和包 198
10.1 模块化编程 198
10.2 Python模块 198
10.2.1 自定义模块 198
10.2.2 导入模块 199
10.2.3 模块内置属性和函数 200
10.2.4 模块的搜索路径 202
10.3 包 203
10.3.1 包结构 203
10.3.2 包初始化 205
10.3.3 包导入 205
10.3.4 子包间相互访问 206
10.4 标准库与第三方库 208
10.4.1 标准库 208
10.4.2 第三方库 213
习题 214
第 11章 异常处理 217
11.1 异常 217
11.1.1 Python内置异常 217
11.1.2 常见异常 218
11.2 异常捕获与处理 220
11.2.1 简单异常处理 220
11.2.2 多种异常处理 221
11.2.3 合并异常处理 222
11.2.4 完整的异常捕获 223
11.2.5 异常的传递 224
11.3 抛出异常 224
习题 225
第 12章 Tkinter图形界面程序设计 229
12.1 GUI库 229
12.2 Tkinter简介 229
12.3 创建第 一个图形界面 230
12.3.1 图形界面程序基本结构 230
12.3.2 创建第 一个图形界面程序 230
12.3.3 设置窗体属性 231
12.4 布局与常见控件 233
12.4.1 布局 233
12.4.2 常用控件 236
12.5 事件处理 246
12.6 综合案例 247
习题 249
第 13章 数据库程序设计 252
13.1 SQLite数据库 252
13.2 SQL语句简介 253
13.3 Python操作数据库 257
13.3.1 创建和关闭数据库连接 257
13.3.2 操作数据库 258
13.4 综合案例 261
习题 266
第 14章 网络爬虫程序设计 268
14.1 网络爬虫概念 268
14.2 网络爬虫的相关技术 269
14.2.1 HTML基础 269
14.2.2 CSS基础 271
14.2.3 HTTP基础 272
14.3 Python编写网络爬虫 273
14.3.1 发起请求 273
14.3.2 获取响应内容 275
14.3.3 解析网页内容 276
14.3.4 提取网页元素 277
14.3.5 保存数据 280
14.4 robots.txt 280
14.5 综合案例 281
习题 283
第 15章 数据分析与可视化 285
15.1 数据分析的概念 285
15.2 数据分析与可视化编程 285
15.2.1 Numpy库 285
15.2.2 Pandas库 288
15.2.3 Matplotlib库 296
15.3 综合案例 300
习题 303
第 16章 人工智能程序设计 305
16.1 人工智能概念 305
16.2 Scikit-learn库 305
16.3 百度AI开放平台 306
16.4 综合案例 309
习题 311
参考文献 313