Python程序设计——从基础入门到实战应用(微课版)(第2版)
定 价:69.8 元
- 作者:王雷春
- 出版时间:2025/9/1
- ISBN:9787121510458
- 出 版 社:电子工业出版社
- 中图法分类:TP312.8
- 页码:320
- 纸张:
- 版次:01
- 开本:16开
-
商品库位:
本书以Python作为实现工具,介绍程序设计的基本思想和方法,培养学生利用Python解决实际问题的能力。本书分为两部分:教学篇和实验篇。教学篇共15章:第1章介绍Python基本知识与概念,开发环境,程序开发步骤,程序结构与编码规范,输入、输出函数等;第2章介绍数据类型、常量和变量、运算符、常用特殊内置函数、程序调试等;第3章介绍程序设计结构,包括顺序结构、选择结构和循环结构;第4章介绍组合数据的使用方法,包括列表、元组、字典和集合;第5章介绍函数的定义和调用、参数类型、特殊函数、装饰器及变量作用域等;第6章介绍类与对象,类的成员和方法,属性,类的继承与多态,抽象类等;第7章介绍常用标准库模块,常用第三方库及模块的使用,自定义模块的创建、调用方法;第8章介绍正则表达式的语法规则、使用正则表达式模块匹配和过滤字符串的步骤与方法等;第9章介绍文本文件和二进制文件的访问方法;第10章介绍程序异常处理和单元测试的方法与步骤;第11章介绍在Python程序中访问不同类型数据库的方法;第12章介绍基于第三方库wxPython的图形用户界面程序设计;第13章介绍多进程与多线程的创建、使用、通信、同步等;第14章介绍网络程序设计,包括基于TCP和UDP的套接字(Socket)编程、Web编程等;第15章介绍人工智能的基本概念、使用Sklearn库和TensorFlow框架进行人工智能开发的初步知识。实验篇包括精选的、与各章知识对应的实验题目,以方便读者上机练习。本书可作为高等学校计算机程序设计课程的教材,也可供Python从业者学习和作为工具书使用。
王雷春,武汉大学计算机专业博士,湖北大学计算机与信息工程学院副教授,先后主持和参与多项国家863项目、国家自然科学基金、省部级基金课题和横向项目。负责校Python程序设计、Java、VB、数据库应用技的教学工作。
第1部分 教学篇
第1章 Python初步 1
1.1 概述 1
1.1.1 Python简介 1
1.1.2 Python的特点 2
1.1.3 Python的应用 2
1.2 开发环境 3
1.2.1 Python版本 3
1.2.2 常用开发环境 3
1.2.3 Python下载和安装 4
1.2.4 PyCharm下载和安装 5
1.2.5 第三方库安装 6
1.3 程序开发 8
1.3.1 程序运行方式 8
1.3.2 使用Python自带工具开发Python程序 8
1.3.3 使用PyCharm开发Python程序 11
1.4 程序结构和编码规范 12
1.4.1 文件类型 12
1.4.2 代码结构 13
1.4.3 程序编码规范 14
1.5 输入、输出函数 19
1.5.1 input()函数 19
1.5.2 print()函数 19
练习题1 21
第2章 Python编程基础 23
2.1 数据类型 23
2.2 数字类型 24
2.2.1 整型 24
2.2.2 浮点类型 24
2.2.3 复数类型 25
2.2.4 布尔类型 26
2.2.5 数字类型转换 26
2.2.6 分数和高精度实数 26
2.2.7 常用数学函数 27
2.3 字符串类型 28
2.3.1 字符串创建 29
2.3.2 字符串访问 29
2.3.3 字符串运算 30
2.3.4 字符串函数 31
2.3.5 转义字符 34
2.4 常量和变量 35
2.4.1 常量 35
2.4.2 变量 35
2.5 运算符和表达式 38
2.5.1 常用运算符和表达式 38
2.5.2 运算符优先级 42
2.5.3 补充说明 43
2.6 内置函数 43
2.6.1 内置函数简介 43
2.6.2 特殊内置函数 44
2.7 程序调试 46
2.7.1 错误类型 46
2.7.2 在PyCharm中调试程序 47
2.8 典型案例 47
2.8.1 计算复杂算术运算表达式的值 47
2.8.2 求几何面、几何体的(表)面积或体积 48
2.8.3 解一元二次方程 48
2.8.4 验证码验证 49
练习题2 49
第3章 程序设计结构 52
3.1 程序设计方法 52
3.1.1 面向过程程序设计 52
3.1.2 多文件Python程序 53
3.1.3 算法 53
3.2 顺序结构 54
3.3 选择结构 54
3.3.1 单分支结构 54
3.3.2 二分支结构 55
3.3.3 多分支结构 56
3.3.4 条件运算 57
3.3.5 选择结构嵌套 58
3.4 循环结构 58
3.4.1 while语句 58
3.4.2 for语句 59
3.4.3 break、continue和pass语句 61
3.4.4 循环结构的嵌套 62
3.5 典型案例 62
3.5.1 计算部分级数和 62
3.5.2 使用选择结构计算员工工资 63
3.5.3 使用递推法求解实际问题 64
3.5.4 使用试凑法解方程 64
3.5.5 计算机猜数字 65
3.5.6 模拟自动饮料机 66
练习题3 67
第4章 组合数据 69
4.1 概述 69
4.2 列表 69
4.2.1 列表创建 70
4.2.2 列表访问 70
4.2.3 列表复制和删除 72
4.2.4 列表运算 73
4.2.5 列表统计 74
4.2.6 列表元素查找和排序 74
4.3 元组 75
4.3.1 元组创建 75
4.3.2 元组访问 76
4.3.3 元组复制和删除 77
4.3.4 元组运算 77
4.3.5 元组统计 77
4.4 字典 78
4.4.1 字典创建 78
4.4.2 字典操作 78
4.4.3 字典复制和删除 80
4.5 集合 81
4.5.1 集合创建 81
4.5.2 集合访问 81
4.5.3 集合复制和删除 83
4.5.4 集合运算 83
4.5.5 集合统计 83
4.6 嵌套组合数据 84
4.7 典型案例 84
4.7.1 查找 84
4.7.2 排序 86
4.7.3 推导式 88
4.7.4 将列表作为堆栈和队列使用 90
4.7.5 基于组合数据的游戏角色管理 90
练习题4 92
第5章 函数 94
5.1 概述 94
5.1.1 函数作用 94
5.1.2 函数分类 95
5.2 函数定义和调用 95
5.2.1 函数定义 95
5.2.2 函数调用 96
5.3 函数参数 97
5.3.1 参数传递 97
5.3.2 参数类型 98
5.3.3 参数传递的序列解包 99
5.4 特殊函数 99
5.4.1 匿名函数 99
5.4.2 递归函数 100
5.4.3 嵌套函数 101
5.5 装饰器 102
5.5.1 装饰器定义和调用 102
5.5.2 带参数的装饰器 103
5.6 变量作用域 104
5.7 典型案例 105
5.7.1 加密和解密 105
5.7.2 求最大公约数 106
5.7.3 使用装饰器检查函数参数合法性 107
5.7.4 模拟轮盘抽奖游戏 108
练习题5 109
第6章 面向对象程序设计 111
6.1 概述 111
6.1.1 面向对象程序设计思路 111
6.1.2 面向对象程序组成 113
6.1.3 面向对象程序设计任务 113
6.2 类和对象 113
6.2.1 类定义 113
6.2.2 对象创建和使用 114
6.3 类的成员 114
6.3.1 成员类型 114
6.3.2 内置成员 116
6.4 类的方法 117
6.4.1 方法类型 117
6.4.2 属性 118
6.4.3 特殊方法 119
6.5 类的继承和多态 120
6.5.1 类的继承 120
6.5.2 类的多态 121
6.6 抽象类和抽象方法 122
6.7 典型案例 122
练习题6 127
第7章 模块、包和库 129
7.1 概述 129
7.2 常用标准库模块 129
7.2.1 turtle模块 130
7.2.2 random模块 132
7.2.3 time模块和datetime模块 134
7.2.4 os模块 136
7.2.5 sys模块 138
7.2.6 timeit模块 138
7.2.7 zlib模块 139
7.3 常用第三方库 139
7.3.1 NumPy库 140
7.3.2 Pandas库 143
7.3.3 SciPy库 145
7.3.4 Matplotlib库 147
7.3.5 Jieba库 150
7.3.6 Pyinstaller库 151
7.4 自定义模块 152
7.5 典型案例 154
7.5.1 使用turtle模块绘制表面填充的正方体 154
7.5.2 使用NumPy库和Matplotlib库分析股票 155
7.5.3 使用Pandas库分析股票交易数据 157
7.5.4 使用图像处理库处理和显示图像 158
练习题7 159
第8章 正则表达式 161
8.1 概述 161
8.2 正则表达式语法 162
8.3 使用re模块处理字符串 163
8.3.1 re模块中的常用函数 164
8.3.2 常用正则表达式 167
8.4 典型案例 169
8.4.1 提取并汇总字符串中包含的费用 169
8.4.2 校验字符串合法性 169
8.4.3 解析网页内容 171
练习题8 172
第9章 文件访问 174
9.1 概述 174
9.2 文本文件访问 174
9.2.1 打开文件 175
9.2.2 文件操作 176
9.3 二进制文件访问 179
9.3.1 使用pickle模块读/写二进制文件 179
9.3.2 使用struct模块读/写二进制文件 180
9.3.3 使用marshal模块读/写二进制文件 181
9.3.4 使用shelve模块读/写二进制文件 182
9.4 典型案例 183
9.4.1 合并文件 183
9.4.2 CSV文件操作 184
练习题9 185
第10章 异常处理和单元测试 187
10.1 异常类和异常处理 187
10.1.1 异常和异常类 187
10.1.2 异常处理 188
10.1.3 断言语句 190
10.2 单元测试 191
10.3 典型案例 192
10.3.1 自定义异常类 192
10.3.2 自定义测试类 193
练习题10 194
第11章 数据库访问 196
11.1 概述 196
11.2 常用关系数据库访问 197
11.2.1 常用关系数据库简介 197
11.2.2 Python DB-API规范 199
11.2.3 典型案例——访问关系数据库 200
11.3 非关系数据库访问 208
11.3.1 MongoDB 208
11.3.2 典型案例——访问MongoDB 210
练习题11 212
第12章 图形用户界面编程 213
12.1 wxPython库简介 213
12.2 事件处理 214
12.3 常用控件 215
12.3.1 窗体 215
12.3.2 按钮、标签和文本框 216
12.3.3 单选按钮、复选框 217
12.3.4 列表框、组合框 218
12.3.5 菜单 219
12.3.6 工具栏、状态栏 222
12.3.7 对话框 224
12.4 布局 227
12.4.1 布局及其类型 227
12.4.2 wx.BoxSizer 228
12.4.3 wx.GridSizer 229
12.5 典型案例——专利管理系统 230
练习题12 237
第13章 多进程与多线程 238
13.1 Python中的多进程 238
13.1.1 进程的含义 238
13.1.2 创建进程 238
13.1.3 进程通信 240
13.1.4 进程同步 242
13.2 Python中的多线程 243
13.2.1 线程的含义 243
13.2.2 创建线程 244
13.2.3 线程通信 247
13.2.4 线程同步 247
13.3 典型案例 250
13.3.1 使用多进程导入/导出数据 250
13.3.2 使用多线程模拟彩票发行 251
练习题13 253
第14章 网络程序设计 254
14.1 网络协议 254
14.1.1 互联网协议族 254
14.1.2 TCP/IP 254
14.2 套接字(Socket)编程 255
14.2.1 套接字简介 255
14.2.2 基于TCP的套接字编程 256
14.2.3 基于UDP的套接字编程 257
14.3 Web编程 259
14.3.1 Web编程概述 259
14.3.2 Django 260
14.4 典型案例 267
14.4.1 简单嗅探器 267
14.4.2 多线程端口扫描 268
14.4.3 使用网络爬虫爬取全国城市天气信息 269
14.4.4 基于Django的个人博客 275
练习题14 283
第15章 Python与人工智能 284
15.1 概述 284
15.1.1 人工智能简介 284
15.1.2 Python与人工智能的关系 286
15.2 机器学习 286
15.2.1 Sklearn 287
15.2.2 典型案例——使用线性回归模型训练、测试和预测数据 289
15.3 深度学习 290
15.3.1 TensorFlow 291
15.3.2 典型案例——识别模糊的手写数字图像 293
练习题15 297
第2部分 实验篇
实验1 Python初步 299
一、实验目的 299
二、实验内容 299
实验2 Python编程基础 299
一、实验目的 299
二、实验内容 300
实验3 程序设计结构 300
一、实验目的 300
二、实验内容 301
实验4 组合数据 301
一、实验目的 301
二、实验内容 302
实验5 函数 302
一、实验目的 302
二、实验内容 303
实验6 面向对象程序设计 303
一、实验目的 303
二、实验内容 304
实验7 模块、包和库 304
一、实验目的 304
二、实验内容 304
实验8 正则表达式 305
一、实验目的 305
二、实验内容 305
实验9 文件访问 305
一、实验目的 305
二、实验内容 305
实验10 异常处理和单元测试 306
一、实验目的 306
二、实验内容 306
实验11 数据库访问 306
一、实验目的 306
二、实验内容 306
实验12 图形用户界面编程 307
一、实验目的 307
二、实验内容 307
实验13 多进程与多线程 308
一、实验目的 308
二、实验内容 308
实验14 网络程序设计 308
一、实验目的 308
二、实验内容 308
实验15 Python与人工智能 308
一、实验目的 308
二、实验内容 309
参考文献 310