Python程序设计基础及实践(慕课版)

北京大学人气讲师力作,零基础Python入门教程,数据分析、爬虫必备技能,配套资源丰富
分享 推荐 10 收藏 185 阅读 29.0K
郭炜 (作者) 978-7-115-56752-9

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

★零基础,不踩坑
内容从零开始。特别指出初学者常犯的大量典型错误,入门编程不踩坑
★大广度,重实用
涵盖大部分常用第三方库。围绕数据的获取、分析、处理和展示展开实践,切实解决工作中的问题
★配套多,资源全
提供慕课、重点难点视频、讲义、程序源码等丰富配套资源,配有在线评测网站,便于布置、提交、评判作业

内容摘要

本书是一部零基础、高标准、大广度、重实践的Python编程教材。本书覆盖面非常广,包括计算机基础常识、Python语言的基本要素和语法、Python生态、正则表达式、数据分析和可视化、网络爬虫、面向对象程序设计入门、tkinter图形界面程序设计等内容。其中,正则表达式、网络爬虫、图形界面等是大多数Python基础教材不涉及的内容。本书对Python第三方库的使用,讲述尤其全面,涵盖数据分析库NumPy和pandas、爬虫库pyppeteer、数据库编程库SQLite3、图像处理库Pillow、Excel文档处理库OpenPyXL、统计绘图库Matplotlib、分词库jieba等。本书还专门用一章的篇幅讲述计算思维,让读者了解计算的本质、时间复杂度、数据结构等概念。
本书可作为高等院校各专业学生学习Python的教学用书。文、理、艺术等各类专业的零基础学生可以学习并掌握本书80%的内容;对编程有较高需求的理科生,可以进一步再多学15%的内容;余下5%的内容则面向计算机专业学生。但即便是计算机专业的学生,也非常适合使用本书来快速掌握Python语法及各种库的使用。
本书配套电子资料十分齐全,包括程序源代码、重点难点讲解视频、课程讲义、习题答案等。此外,作者在中国大学慕课开设的“实用Python程序设计”课程,提供了覆盖全书90%内容的视频讲解。

Python程序设计基础及实践(慕课版)特点介绍

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

目录

第1章 计算机基础常识
1.1 信息在计算机中的表示和存储 1
1.1.1 用0和1表示信息 1
1.1.2 二进制和十六进制 2
1.2 计算机程序设计语言 4
1.2.1 机器语言 4
1.2.2 汇编语言 5
1.2.3 高级语言 5
1.2.4 Python简史 6
1.3 习题 7
第2章 Python语言的基本要素
2.1 Python开发环境的搭建 8
2.2 Python的语句 9
2.3 注释 10
2.4 常量 11
2.5 变量 12
2.6 赋值语句 12
2.7 Python数据类型 14
2.8 字符串简介 14
2.8.1 字符串的基本概念 14
2.8.2 字符串的下标 15
2.8.3 连接字符串 15
2.8.4 用“in”“not in”判断子串 16
2.8.5 字符串和数值的转换 16
2.9 输入和输出 17
2.9.1 输出语句print 17
2.9.2 输入语句input 17
2.9.3 输出格式控制 19
2.10 列表简介 20
2.10.1 列表的基本概念 20
2.10.2 字符串分割成列表 20
2.11 常见语法错误排查 21
2.12 OpenJudge做题指南及例题讲解 21
2.13 习题 25
第3章 基本运算和条件分支语句
3.1 算术运算 26
3.2 关系运算和bool类型 28
3.3 逻辑运算 30
3.4 运算符的优先级 31
3.5 条件分支语句 32
3.6 条件分支语句例题 33
3.7 习题 40
第4章 循环语句
4.1 for循环语句 41
4.2 break语句和continue语句 45
4.3 多重循环 45
4.4 while循环语句 48
4.5 异常处理 51
4.6 循环综合例题 53
4.7 调试程序的方法 57
4.8 习题 58
第5章 函数
5.1 函数概述 59
5.2 全局变量和局部变量 62
★5.3 参数个数可变的函数 63
5.4 函数参数的默认值 64
5.5 Python的库函数 64
5.6 lambda表达式 65
★★5.7 高阶函数和闭包 66
★★★5.8 生成器 67
5.9 习题 69
第6章 递归
6.1 递归的基本概念 70
6.2 先做一步再递归:上台阶问题 72
★6.3 问题分解:汉诺塔问题 72
★★6.4 递归替代循环:N皇后问题 76
★6.5 递归绘制分形图案:绘制雪花曲线 78
6.6 习题 81
第7章 复杂数据类型
7.1 Python变量的指针本质 82
7.2 字符串详解 85
7.2.1 转义字符 85
7.2.2 三单引号和三双引号字符串 86
7.2.3 在字符串中使用编码代替字符 87
7.2.4 字符串的切片 88
7.2.5 字符串的分割 88
7.2.6 字符串的成员函数 89
7.2.7 字符串的格式化 91
7.2.8 f-string 92
7.3 元组 92
7.3.1 元组的基本概念 92
7.3.2 元组的操作 94
7.4 列表详解 95
7.4.1 列表基础用法 95
7.4.2 列表的成员函数 98
7.4.3 列表的排序 99
7.4.4 列表的映射和过滤 103
7.4.5 列表生成式 104
★7.4.6 二维列表 105
★7.4.7 列表的复制 107
7.4.8 列表、元组和字符串的互相转换 109
7.5 字典 109
7.5.1 字典的基本概念 109
7.5.2 字典的函数 111
7.5.3 字典例题:单词出现频率统计 112
7.6 集合 113
7.7 自定义数据类型:类 116
7.8 习题 118
第8章 计算思维
8.1 计算机的本质 121
8.2 计算机解决问题的基本方法—穷举 122
★8.3 程序或算法的时间复杂度 123
8.4 有序就能找得快 127
8.5 习题 128
第9章 文件读写
9.1 概述 129
9.2 文本文件的编码 130
9.3 读写文本文件 132
9.4 文件的相对路径和绝对路径 134
★9.5 文件夹的操作 135
★9.6 命令行参数 137
★9.7 文本文件处理综合实例 138
9.8 数据交换文件格式csv 141
★9.9 数据交换字符串格式JSON 142
★★★9.10 字节流和字符串的互相转换 143
★★★9.11 二进制文件的读写 144
9.12 习题 148
第10章 正则表达式
10.1 功能字符和字符组合 149
10.2 查找匹配的子串 153
10.3 边界符号 155
10.4 匹配选项 156
10.5 分组 157
10.6 '|' 的用法 160
★★10.7 替换匹配的子串 161
10.8 贪婪匹配和懒惰匹配 162
★★★10.9 条件匹配 163
★★★10.10 断言 164
10.11 字符串分割 167
10.12 应用实例 167
10.13 习题 168
第11章 玩转Python生态
11.1 Python库的安装、导入和使用 170
11.2 日期和时间库datetime 172
11.3 随机库random 173
★11.4 用OpenPyXL库处理Excel文档 174
★★★11.5 SQLite3数据库编程 179
11.5.1 数据库的结构 179
11.5.2 SQL数据库查询语句 179
11.6 jieba分词库 184
★★11.7 图像处理库PIL 186
11.7.1 图像的基本变换 187
11.7.2 图像的裁剪 188
11.7.3 图像的素描化 189
★★★11.7.4 给图像添加水印 190
★★★11.7.5 照片的exif信息及在图像上绘图和写字 192
11.8 多模块程序设计 194
11.9 Python程序的打包分发 197
11.10 习题 197
第12章 数据分析和可视化
12.1 多维数组库NumPy 199
12.2 数据分析库pandas 203
12.3 用Matplotlib绘制统计图 210
12.3.1 绘制柱状图 210
12.3.2 绘制折线图和散点图 214
12.3.3 绘制饼图 215
12.3.4 绘制热力图 215
12.3.5 绘制雷达图 216
12.3.6 绘制面积图 218
★★12.3.7 多子图绘图 219
12.4 习题 220
第13章 网络爬虫
13.1 基础爬虫四步走 221
13.2 网页获取三招式 225
13.3 用BeautifulSoup分析网页 228
13.4 用pyppeteer爬取JavaScript动态生成的网页 232
★★13.5 用pyppeteer爬取需要登录的网站 233
★★★13.6 用pyppeteer+requests编写快速爬虫 239
13.7 如何对付反爬虫措施 241
13.8 习题 241
第14章 面向对象程序设计入门
14.1 结构化程序设计和面向对象程序设计 242
14.2 Python中的类 243
14.3 对象的比较 245
14.4 输出对象 246
14.5 继承和派生 247
14.6 静态属性和静态方法 249
14.7 对象作为集合元素或字典的键 250
第15章 tkinter图形界面程序设计
15.1 控件概述 253
15.2 图形界面的布局 255
15.3 为控件绑定状态变量和事件响应函数 258
15.4 综合示例—Python火锅店点菜系统 262
15.5 对话框 266
15.6 菜单和多行编辑框示例 270
★★15.7 在图形界面中用Matplotlib绘制统计图和显示图像 272
★★15.8 Notebook、PanedWindow和TreeView控件 275
15.9 习题 276

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

郭炜,北京大学信息科学技术学院教师。执教二十余年,担任北京大学ACM程序设计竞赛队教练十年。曾经创建北京角斗士软件技术有限公司,具有丰富的软件开发经验并能将其融入教学。主讲的《程序设计实习》以及《程序设计与算法》系列慕课课程,获评国家精品在线开放课程。

购买本书用户

相关图书

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