Python程序设计

零基础 聚焦实际问题 重前沿
分享 推荐 3 收藏 182 阅读 6.0K
王虎 (作者) 978-7-115-59541-6

关于本书的内容有任何问题,请联系 刘博

1.注重编程思想的培养,内容针对性强且案例丰富,适合初学者
2.紧跟新发展,基于Python 3.10版本编写
3.辅以大量习题,将所学知识融会贯通

内容摘要

本书从初学者角度出发,通过通俗易懂的语言、流行有趣的实例,详细地介绍了Python语言基础以及计算生态。全书共13章,可分为三个部分:
第一部分包括初识 Python、下载与安装、Python语言基础、流程控制语句、各种组合数据类型等基础知识;
第二部分介绍了函数、面向对象、文件、常用内置模块的使用,以及如何制作动画等进阶内容;
第三部分侧重于利用Python的生态,构建网络爬虫、图像处理、中文文本处理与词云、自动化发送E-mail和数据分析与可视化等高级应用。
本书基于Python 3.10编写,由浅入深、循序渐进地介绍Python语言程序设计的理论和应用,所有知识都结合具体实例进行讲解,涉及的程序代码给出了详细的注释,可以使读者能够快速地熟悉语言,编写代码解决实际问题,轻松领会Python程序开发的精髓。
本书内容丰富、叙述清晰、循序渐进,不仅适合零基础的编程初学者使用,也适合作为高等院校计算机与软件相关专业的教材,还可以作为软件从业人员、科学研究人员、数据工程师、计算机爱好者的学习指导用书。

图书信息

诚邀您加入【人邮社Python教师交流群】

目录

上篇 Python语言基础
第1章 准备工作
1.1 关于编程 2
1.1.1 计算机与编程语言 2
1.1.2 程序的执行 3
1.2 Python概述 4
1.2.1 Python的起源 4
1.2.2 快速的版本迭代 4
1.2.3 Python的特点 5
1.2.4 应用领域 5
1.2.5 排行榜 6
1.3 搭建开发环境 6
1.4 用IDLE运行HelloWorld 8
1.4.1 交互式运行简单程序 9
1.4.2 文件式运行复杂程序 10
1.5 常用Python开发工具 11
1.6 模块的管理 12
1.6.1 内置标准模块 12
1.6.2 丰富的第三方库 12
1.7 编程规范 15
1.7.1 缩进 15
1.7.2 注释和文档字符串 16
1.7.3 断行和空白行 17
本章小结 18
习题 18
第2章 必需的程序元素
2.1 数字 20
2.1.1 整数(int) 20
2.1.2 浮点数(float) 21
2.1.3 复数(complex) 22
2.1.4 布尔值(bool) 22
2.2 变量 23
2.2.1 赋值 23
2.2.2 命名的限制和建议 23
2.2.3 赋值时发生了什么 25
2.3 内置的数值运算 26
2.3.1 算术运算符 26
2.3.2 数学运算函数 27
2.3.3 转换数据类型和进制 28
2.4 运算符 29
2.4.1 关系运算符 29
2.4.2 逻辑运算符 30
2.4.3 位运算符 31
2.4.4 成员运算符 32
2.4.5 身份运算符 32
2.4.6 运算符的优先级和表达式 32
2.5 查看程序的运行结果 33
2.6 字符串 34
2.6.1 如何表示字符串 35
2.6.2 转义字符与原始字符串 35
2.6.3 处理字符串的内置函数 36
2.6.4 字符串运算符 37
2.6.5 字符串的常用方法 37
2.7 输入与格式化输出 38
2.7.1 获取用户输入input() 38
2.7.2 解析表达式eval() 39
2.7.3 输入多个值 39
2.7.4 格式化输出print() 39
本章小结 43
习题 43
第3章 程序的流程控制
3.1 程序的控制结构 45
3.1.1 程序流程图 45
3.1.2 结构化程序控制结构 46
3.2 顺序结构 46
3.3 分支结构 48
3.3.1 单分支if 48
3.3.2 双分支if-else 49
3.3.3 多分支if-elif-else 50
3.3.4 分支嵌套 53
3.3.5 顺序还是互斥 54
3.4 循环结构 56
3.4.1 for循环 56
3.4.2 while循环 58
3.4.3 中止(break)和继续
(continue) 58
3.4.4 else子句 60
3.4.5 循环嵌套 61
3.5 空语句pass 62
3.6 异常处理 62
3.6.1 异常的概念和产生 62
3.6.2 异常的类型 63
3.6.3 try…except语句 63
本章小结 65
习题 65
第4章 组合数据类型
4.1 概述 68
4.1.1 序列类型 68
4.1.2 集合类型 69
4.1.3 映射类型 69
4.2 序列通用操作——以字符串为例 70
4.2.1 索引 70
4.2.2 切片 70
4.2.3 其他操作 72
4.3 列表 74
4.3.1 创建与修改元素 74
4.3.2 嵌套列表 75
4.3.3 内置的通用操作 76
4.3.4 增加与删除 77
4.3.5 查找、计数和排序 78
4.3.6 列表生成式 80
4.4 元组 81
4.4.1 创建与访问 81
4.4.2 使用列表还是元组 82
4.4.3 几个常见用法 82
4.5 字典 83
4.5.1 几种不同的创建方式 83
4.5.2 查找字典里的值 84
4.5.3 键值对的增、改、删 85
4.5.4 遍历字典数据 86
4.5.5 嵌套的字典 87
4.6 集合 88
4.6.1 特殊之处 88
4.6.2 成员检查与遍历 89
4.6.3 修改元素 89
4.6.4 集合的数学运算 90
4.7 为爬虫热身 90
本章小结 92
习题 92
中篇 Python进阶知识
第5章 函数与模块
5.1 为什么需要函数 95
5.2 基本使用方法 97
5.2.1 定义函数 97
5.2.2 函数调用 98
5.2.3 调用过程 98
5.2.4 返回值 99
5.3 参数传递 102
5.3.1 传递可变/不可变对象 102
5.3.2 位置参数与命名参数 103
5.3.3 默认参数 104
5.3.4 数量不定的参数 105
5.4 变量的作用域 107
5.4.1 局部变量 107
5.4.2 全局变量 108
5.4.3 global关键字 108
5.5 lambda函数与高阶函数 109
5.6 模块化程序设计 110
5.6.1 模块化组织 110
5.6.2 模块的定义与导入 111
5.7 内置标准模块与内置函数 114
5.7.1 内置标准模块 114
5.7.2 内置函数 114
本章小结 115
习题 115
第6章 常用内置标准模块
6.1 数学库 117
6.2 时间、日历库 118
6.2.1 常用的时间函数 119
6.2.2 更加直观地显示时间 119
6.2.3 计时器 120
6.2.4 日历 121
6.3 海龟绘图 122
6.3.1 屏幕坐标系和绘图窗口 123
6.3.2 turtle坐标系 124
6.3.3 绘图状态和颜色 124
6.3.4 海龟的外观和可见性 125
6.3.5 移动、方向、位置和文本 126
6.3.6 图形填充——绘制太极图 129
6.3.7 旋转的太极图──动画 131
6.3.8 动态时钟——更高级的用法 133
6.4 随机库 136
6.4.1 几个常用随机函数 136
6.4.2 更彻底的洗牌 138
6.4.3 蒙特卡洛方法 140
本章小结 142
习题 142
第7章 面向对象程序设计
7.1 类的定义与实例化 144
7.2 实例对象的使用 145
7.3 限制外部访问——封装 146
7.4 更简洁的封装——@property 148
7.5 属性/方法:类的和实例的 149
7.5.1 类属性和实例属性的不同 149
7.5.2 将类作为参数的方法 151
7.5.3 静态方法和特殊方法 151
7.6 不必从零开始——继承 152
7.6.1 如何继承 152
7.6.2 访问/覆盖父类成员 154
7.6.3 不能继承私有成员 154
7.6.4 扩展子类的成员 154
7.6.5 如何调用被覆盖的方法 155
7.7 提高程序的可扩展性——多态 156
7.8 开闭原则和鸭子类型 157
7.9 类和对象相关的内置函数 158
本章小结 159
习题 159
第8章 操作文件和目录
8.1 文件内容操作 161
8.1.1 打开/创建文件 161
8.1.2 关闭文件 163
8.1.3 with语句 164
8.1.4 将数据写入文件 164
8.1.5 从文件中读取数据 165
8.2 文件系统操作 167
8.2.1 os模块简介 167
8.2.2 管理文件和目录 168
本章小结 171
习题 171
下篇 Python生态应用
第9章文本分析和词云
9.1 分词工具 174
9.1.1 安装 174
9.1.2 分词模式 175
9.1.3 停用词 176
9.2 词频分析 176
9.2.1 计数器Counter 176
9.2.2 计算《红楼梦》的词频 177
9.2.3 《红楼梦》出场人物统计 178
9.3 更直观的统计结果——词云 179
9.3.1 最简单的词云 180
9.3.2 设置wordcloud的参数 180
9.3.3 定制词云形状 181
本章小结 183
习题 183
第10章 发送E-mail
10.1 SMTP简介 184
10.2 发出第一封邮件 185
10.3 构造更完整的邮件信息 186
10.4 MIME 187
10.5 附件和HTML格式的邮件 188
10.5.1 添加附件 188
10.5.2 HTML格式的邮件正文 189
10.6 加密SMTP 189
10.7 群发不同内容的邮件 190
本章小结 191
习题 192
第11章 网络爬虫
11.1 爬虫是什么 193
11.2 HTML 194
11.3 浏览器辅助功能——开发者
工具 195
11.4 获取网页内容 195
11.4.1 HTTP请求 196
11.4.2 Requests模块中的请求方法 197
11.4.3 响应对象response 198
11.4.4 通过URL传递值 200
11.4.5 伪装成浏览器 200
11.4.6 模拟登录网站 202
11.5 提取信息 204
11.5.1 bs4概述 204
11.5.2 常用内置对象 205
11.5.3 搜索DOM树 206
11.5.4 爬取百度首页 207
11.6 处理JSON数据 209
11.6.1 什么是JSON 209
11.6.2 爬取天气信息 209
11.7 数据可视化——K线图 211
11.7.1 可视化工具PyEcharts 211
11.7.2 请求数据 212
11.7.3 筛选需要的数据 213
11.7.4 绘制K线图 214
本章小结 216
习题 216
第12章 图像处理
12.1 文件操作 218
12.1.1 打开并显示图像 218
12.1.2 新建图像文件 218
12.1.3 保存、转换格式 219
12.2 属性、模式 219
12.2.1 获取图像属性 219
12.2.2 改变模式 219
12.3 点、区域、通道 220
12.3.1 操作像素点 220
12.3.2 通道分离与合并 221
12.3.3 裁剪、旋转、粘贴、缩放 221
12.4 缩略图、融合 223
12.4.1 生成缩略图 223
12.4.2 融合图像 223
12.5 GIF文件 224
12.5.1 将GIF文件分解 225
12.5.2 制作GIF文件 226
12.6 图像增强——改善图像质量 226
12.7 图像滤波——轮廓和浮雕效果 227
12.8 绘图 228
12.8.1 绘制简单图形 229
12.8.2 给图像加水印 230
12.8.3 生成随机验证码 230
本章小结 232
习题 232
第13章 数据分析与可视化
13.1 NumPy库 233
13.1.1 ndarray对象 233
13.1.2 创建NumPy数组 234
13.1.3 元素的数据类型 236
13.1.4 索引和切片 236
13.1.5 统计函数 237
13.2 Matplotlib库 239
13.2.1 解决无法显示中文的问题 239
13.2.2 绘制简单图表 239
13.2.3 设置图表属性 241
13.2.4 处理鸢尾花数据集 242
13.3 Pandas库 244
13.3.1 序列Series 244
13.3.2 数据框DataFrame 246
13.3.3 基本用法 247
13.4 全国第七次人口普查数据分析 248
13.4.1 数据来源 248
13.4.2 构造数据 250
13.4.3 数据清洗 250
13.4.4 可视化 251
13.4.5 手绘风格图表 252
本章小结 254
习题 254
附录A 内置函数速查表
A.1 数学运算函数 255
A.2 数字类型函数 255
A.3 进制转换函数 256
A.4 组合类型函数 256
A.5 输入/输出函数 257
A.6 编码函数 257
A.7 序列操作函数 257
A.8 对象操作函数 258
A.9 作用域函数 258
A.10 反射函数 259
A.11 迭代器/生成器函数 259
A.12 装饰器函数 259
A.13 编译执行函数 260
A.14 其他函数 260
附录B 字符串常用方法













读者评论

赶紧抢沙发哦!

我要评论

作者介绍

王虎,2006年6月毕业于安徽大学计算机科学与技术学院,长期担任《大学计算机基础》《Python应用基础》《计算机导论》《程序设计基础-C语言》等多门本科生课程的教学工作。主要从事数据挖掘、Web新技术、数据库方面的研究工作。参与国家支撑计划、国家重点研发计划等项目。参编《大学计算机》(人民邮电出版社,2021年)、C语言程序设计实用教程》(清华大学出版社,2017年)等教材。

推荐用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部