零基础Python入门教程

零基础Python入门,没有代码基础的读者也能掌握
分享 推荐 1 收藏 102 阅读 5.8K
石英 (作者) 978-7-115-48301-0

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

1. 作者从入门者的角度,和读者一起零基础学Python,知道菜鸟学习的痛点在哪里。
2. 语言风趣幽默,活泼,适合年轻读者。作者曾经是985高校计算机教师,懂得如何教学。
3. 配套资源丰富,多媒体课件、源代码、视频、配套网站、公众号。
4. 案例实用接地气,都是日常生活中会用到的案例,学习起来没难度。
¥79.80 ¥67.83 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

Python是一种很接近自然语言的编程语言,既简单易学,又功能强大,对初学者特别友好。在第三方模块的帮助下,即使是“小菜鸟”也能用Python写出解决实际问题的程序。
本书前8章梳理Python的基础知识;第9~20章用第三方模块辅助编辑PDF、Word、Excel、CSV等各类文档,设置时间和日期,引入外援,使用网站提供的API数据编写查询信息的小程序,处理图片,让图形界面自动化,发送邮件、短信、微信,识别图片上的文字;在读者对使用“对象”有了使用体验后,第21章系统地讲解类和对象;第22章将Python程序转成可执行文件;第23章介绍视频的下载和处理方法;第24章列出初学者常犯的错误和学习难点,并介绍工具Homebrew、ImageMagick和Tesseract。
本书的思考题,以及网站PythonABC上的配套视频、源代码和相关技术帖子等资源,能帮助读者不断加深对相关知识的理解。本书还兼顾了Mac和Windows平台的些许差异。
本书既可作为高等院校的Python教材,也可作为自学者的辅助教材,是一本适合程序开发初学者的入门级教材。

目录

第1章 窈窕Python,君子好逑
1.1 为什么要费劲学Python 2
1.1.1 Python是一门编程语言 2
1.1.2 Python的本事很大 2
1.1.3 下载和安装Python 3
1.1.4 安装和熟悉PyCharm 6
1.2 学习Python有窍门 11
1.2.1 善用网上教学资源 12
1.2.2 熟悉编辑环境大有益处 12
1.2.3 自己动手,丰衣足食 14
1.2.4 出错是常态 15
1.3 变量和数据类型 15
1.3.1 变量 15
1.3.2 基本数据类型 16
1.3.3 强制类型转换 16
1.4 运算符、注释与缩进 16
1.4.1 运算符 16
1.4.2 注释 17
1.4.3 缩进和空行 17
1.5 类与对象 18
1.6 引入外援 18
1.6.1 PyCharm图形化安装第三方模块 18
1.6.2 用pip(pip3)命令安装第三方模块 20
本章小结 22
习题 22
第2章 必须控制程序走向 23
2.1 顺序执行 24
2.1.1 第一个Python程序 24
2.1.2 美元转人民币换算器 24
2.1.3 实现具有加、减、乘、除和取余功能的简易计算器 25
2.2 条件分支 26
2.2.1 if语句和Python的缩进 27
2.2.2 if…elif…else条件判断 27
2.2.3 and、or和not 29
2.3 循环控制 30
2.3.1 for循环 30
2.3.2 while循环 32
2.3.3 break和continue 32
2.3.4 循环实例:for与while联手输出松树 33
本章小结 35
习题 35
第3章 经常打交道的字符串 36
3.1 字符串的基本知识 37
3.1.1 索引和切片 37
3.1.2 字符串的遍历、连接与复制 38
3.1.3 每个字符都对应一个Unicode 38
3.2 自带工具包里好用的工具 38
3.2.1 去空格和大小写切换 38
3.2.2 数个数、定位和替换 39
3.2.3 判断内容和特定的开头和结尾 39
3.2.4 列表与字符串的转换 39
3.2.5 格式化format() 40
3.3 字符串实例:首字母缩写 40
3.4 字符串实例:帮助小甲鱼保卫“爱情” 40
本章小结 42
习题 42
第4章 一动一静的列表与元组 44
4.1 生成列表(list) 45
4.2 列表与字符串有相似之处 45
4.2.1 列表的索引和切片 45
4.2.2 列表合并、获取长度和判断成员 46
4.3 列表自带的工具包 46
4.3.1 定位和数个数 46
4.3.2 添加和插入 46
4.3.3 颠倒和排序 46
4.3.4 删除和弹出 47
4.3.5 独立函数sorted(list1)与方法函数list1.sort() 47
4.4 列表实例:Fibonacci数列偶数之和 47
4.5 元组(tuple) 48
本章小结 48
习题 48
第5章 用函数写代码是一大飞跃 49
5.1 了解函数 50
5.1.1 函数的定义和调用 50
5.1.2 集体赋值 50
5.2 函数实例:用函数求素数 51
5.3 函数实例:凯撒加密解密 52
5.3.1 主函数体现大框架 52
5.3.2 偏移函数实现加密和解密 53
5.4 变量作用域和不确定个数形参 54
5.4.1 我的地盘我做主 54
5.4.2 在局部变量的作用域内访问全局变量 55
5.4.3 不确定个数的形参 55
5.5 数学函数和随机函数 55
5.5.1 数学函数 55
5.5.2 随机函数 56
本章小结 57
习题 57
第6章 干活利落的字典和集合 58
6.1 字典(dictionary)基础知识 59
6.1.1 字典的定义 59
6.1.2 输出字典 59
6.1.3 判断是否在字典里 60
6.1.4 清空、取值、更新和设置默认值 60
6.1.5 字典实例:字典充当“生日”数据库 60
6.2 字典实例:批量写邮件 61
6.3 字典实例:统计单词个数 62
6.4 字典实例:野餐策划 64
6.5 集合(set)基础知识 65
6.5.1 集合的产生 65
6.5.2 集合的基本操作 65
6.5.3 集合实例:野餐策划 66
本章小结 67
习题 67
第7章 文件省了多少事儿呀 68
7.1 纯文本文件 69
7.1.1 花式读文件 69
7.1.2 以添加模式打开文件 71
7.1.3 以写模式打开文件 72
7.1.4 当前的位置和encoding 73
7.2 二进制文件 74
7.3 定义变量文件和设置Python解释器的搜索路径 74
7.3.1 生成存放变量的文件 75
7.3.2 引入自定义模块时提示找不到 75
7.4 管理文件和文件夹(from pathlib import Path) 76
7.4.1 路径对象及常用操作 77
7.4.2 新建文件夹 78
7.4.3 给文件或文件夹改名 78
7.4.4 遍历文件夹找文件 79
7.5 文件实例:不一样的考卷 79
7.5.1 生成题目库文件和引入第三方模块 80
7.5.2 准备好存放考卷和答案的文件夹和文件 80
7.5.3 考题和陪跑的答案项随机抽取+考题随机排列 81
7.5.4 将考题和答案写入之前准备好的文件 82
7.5.5 完整代码 83
本章小结 84
习题 84
第8章 意外总是难免的 85
8.1 bug,bug,必须习惯bug的存在 86
8.2 捕获意外(try…except) 86
8.2.1 提前处理,避免崩溃 86
8.2.2 不能捕获其他语句引发的意外 88
8.3 定义意外(raise) 89
8.3.1 定义能预计到的意外处理 89
8.3.2 与try…except配合使用 90
8.4 用logging调试程序 91
8.4.1 设置多个监测点 91
8.4.2 分析日志和控制调试信息的输出 92
8.4.3 使用logging时可能出现的错误:AttributeError 93
8.5 assert帮忙锁定程序设计上的问题 93
本章小结 94
习题 94
第9章 编辑PDF文件也没什么 不可能 95
9.1 抽取选定页,生成新PDF文件 96
9.2 加水印 96
9.3 合并多个PDF文件 98
9.4 给PDF文件加“打开”密码 98
9.5 打开加了密码的PDF文件和提取PDF文件里的英文字符 99
本章小结 100
习题 100
第10章 Word文档也沦陷了 101
10.1 新建或打开Word文档 102
10.2 对段落的处理 102
10.2.1 添加标题和正文 102
10.2.2 段落style和设置项目列表 103
10.2.3 格式设定 104
10.3 对文字的处理 105
10.3.1 添加游程和设置文字基本格式 105
10.3.2 设置中文字符的字体 106
10.3.3 设置字体颜色 107
10.4 对表格的处理 108
10.4.1 添加表格和行列 108
10.4.2 访问和写入表格 108
10.4.3 调节表格 109
10.4.4 设置表格内的中文字体 110
10.5 对图片的处理 110
10.5.1 图片的添加和居中 110
10.5.2 生成简单图形 110
本章小结 111
习题 111
第11章 Excel表格,一般功能没问题 115
11.1 读取数据 116
11.1.1 工作簿、表单和单元格 116
11.1.2 读取行列和区域数据 116
11.1.3 最大行列号、列字母与列数值的转换 117
11.1.4 Excel实例:读出Excel数据,输出统计结果 117
11.2 操控表单和写入数据 120
11.2.1 操控表单 120
11.2.2 写入数据 121
11.2.3 Excel实例:用单元格内的公式自动计算和填写股票表格 121
11.2.4 Excel实例:成批修改蔬菜水果表中某几个货品的价格 123
11.3 设定单元格格式 124
11.3.1 单元格里的文字格式和行高、列宽设置 124
11.3.2 合并和分离单元格 125
11.4 生成图表 125
11.4.1 饼形图PieChart 125
11.4.2 柱形图BarChart 126
11.4.3 气泡图BubbleChart 127
11.5 实例:从Excel中采集数据写入Word 128
本章小结 130
习题 130
第12章 时间日期管起来 131
12.1 time模块 132
12.2 datetime模块 133
12.2.1 当前日期时间和转换时间戳 133
12.2.2 datetime对象转成指定格式的字符串 134
12.2.3 日期时间的字符串转成datetime对象 135
12.2.4 时间的跨度 135
12.3 日期时间函数总结 136
本章小结 136
习题 137
第13章 subprocess调来强援 138
13.1 在程序中打开外部应用 139
13.1.1 启动计算器和文本编辑器 139
13.1.2 使用系统默认的应用打开文件和网页 140
13.1.3 运行Python程序 140
13.2 查询目录、复制和粘贴 140
13.2.1 查询目录和定向输出 140
13.2.2 复制和粘贴 141
13.3 播放音乐 142
13.4 批量解压多个压缩文件 143
13.4.1 获得第三方应用和被压缩文件夹的位置 143
13.4.2 构建subprocess.run()的参数 143
13.4.3 代码实现 144
本章小结 144
习题 145
第14章 网站提供的API数据 不用白不用 146
14.1 JSON数据与Python的字典 147
14.2 如何获取JSON数据 147
14.3 JSON实例:查询世界各地天气 148
14.3.1 使用网站API数据的大致步骤 148
14.3.2 主函数列出框架 148
14.3.3 生成链接字符串 149
14.3.4 数据获取 149
14.3.5 数据整理 150
14.3.6 数据输出 151
14.3.7 完整程序 152
14.4 JSON实例:解析域名定位IP地址 154
14.4.1 定位国内IP 154
14.4.2 定位国外IP 155
14.5 JSON实例:国内城市的天气预报和PM值 156
14.6 假装是浏览器在发请求 158
本章小结 159
习题 159
第15章 操控CSV文件也得有 160
15.1 从CSV文件里读 161
15.2 往CSV文件里写 162
15.3 CSV实例:批量生成CSV文件后去除表头 162
15.3.1 批量生成CSV文件 162
15.3.2 用Excel直接打开CSV文件,中文部分出现乱码 163
15.3.3 批量去掉CSV文件的表头 164
15.4 CSV实例:提取出席金像奖人员列表 165
本章小结 167
习题 167
第16章 浅谈图片处理模块Pillow 169
16.1 了解图片 170
16.2 图片处理 171
16.2.1 复制、剪切和粘贴 171
16.2.2 图片处理实例:热气球马赛克 172
16.2.3 调整图片大小 173
16.2.4 旋转和镜像 173
16.2.5 涂颜色 174
16.2.6 画图形 175
16.2.7 设置中文字体 176
16.2.8 彩色变黑白 176
16.3 图片处理实例:批量处理图片 177
本章小结 179
习题 179
第17章 图片处理的魔杖Wand 180
17.1 安装支持Wand的内核ImageMagick 181
17.2 图片信息获得 181
17.3 图片处理 182
17.3.1 调整大小 182
17.3.2 裁剪图片 182
17.3.3 裁剪和调整大小一起做 183
17.3.4 接缝雕刻 184
17.3.5 旋转与镜像 185
17.3.6 画图形 186
17.3.7 设置图片上的文字 186
17.3.8 合成图片 187
17.3.9 调节亮度 188
17.3.10 调节黑白对比度 188
17.3.11 从动态图中提取静态帧 189
17.3.12 合成动态图 189
17.3.13 将PDF文件转成图片 189
本章小结 190
习题 190
第18章 邮件、短信和微信,一个不能少 191
18.1 发送邮件 192
18.1.1 发送前的准备 192
18.1.2 发送纯文本邮件 194
18.1.3 发送带附件的邮件 195
18.2 群发邮件 196
18.2.1 使用模板生成个性化邮件 196
18.2.2 群发个性化邮件 196
18.3 发送短信 198
18.4 操控微信 201
18.4.1 自动回复 201
18.4.2 发送消息 202
18.4.3 微信实例:统计微信男女好友的个数 203
18.4.4 微信实例:搜索微信好友 203
18.4.5 微信实例:发信息给名单上的好友 204
18.5 应用实例:兵分三路 205
18.5.1 问题描述与分析 205
18.5.2 邮件、微信和短信通知模块 205
18.5.3 提取欠费信息“三管齐下”发送通知 207
本章小结 208
习题 208
第19章 图形界面自动化 209
19.1 自动化参数设置 210
19.2 控制鼠标 211
19.2.1 移动、拖动鼠标 211
19.2.2 单击、滚动鼠标 212
19.3 控制键盘 213
19.3.1 输入字符串 213
19.3.2 按键 213
19.4 自动复制和粘贴中文字符 214
19.5 消息框 215
19.5.1 警告框 215
19.5.2 确认框 216
19.5.3 提示输入框 216
19.5.4 密码框 216
19.6 截屏和像素颜色 217
19.7 监测鼠标选中的位置和颜色参数 217
本章小结 218
习题 218
第20章 OCR识别图片和PDF 上的文字 219
20.1 Tesseract和Pillow需要先安装 220
20.2 Pytesseract识别图片上的文字 220
20.3 PyOCR识别图片上的文字 221
20.4 OpenCV对图片做识别前的预处理 222
20.4.1 打开、显示、保存、关闭图片,等待按键 222
20.4.2 以灰度模式打开图片 222
20.4.3 虚化处理和阈值处理去除背景噪声 223
20.5 先减少背景噪声,再做图片文字识别 225
20.6 识别PDF上的文字 226
本章小结 227
习题 227
第21章 面向对象编程,从量变到质变 228
21.1 类的属性和对象方法函数 229
21.1.1 类的首部格式 229
21.1.2 __init__()初始化类属性 229
21.1.3 能在内部解决就在内部解决 229
21.1.4 生成对象时自动调用__init__() 230
21.1.5 定义和在类外调用方法函数 230
21.1.6 类属性的定义和引用 230
21.1.7 有时对象需要自己特有的属性 231
21.1.8 类属性、对象属性和对象专有属性之间的关系 231
21.2 类方法函数和静态方法函数 231
21.2.1 类方法函数 232
21.2.2 静态方法函数 232
21.2.3 详细了解类的信息 233
21.3 类与对象之继承 234
21.3.1 定义子类 234
21.3.2 子类中父类的同名属性和方法函数会被屏蔽 235
21.3.3 子类新增自己特有的方法函数,重写父类不适用的属性和方法函数 236
21.3.4 对传入的参数进行检查 237
21.3.5 测试类的方法函数和判断关系 238
21.4 类的属性不简单 239
21.4.1 修改属性不能引发同步更新 239
21.4.2 用装饰器@property实现属性同步更新 240
21.4.3 赋值很烦恼 240
21.4.4 类私有变量 240
21.4.5 装饰器@属性名.setter有效控制属性赋值 241
21.4.6 给形参设置默认值可减少出错 242
21.4.7 代码变动处汇总 242
21.4.8 获取、设置判断类和对象属性值的函数 245
21.5 类与对象之多态 246
21.5.1 继承过来的多态 246
21.5.2 Python的多态可以无关继承 247
21.6 特殊方法函数 248
21.6.1 定义print(对象)的输出 248
21.6.2 定义len(对象) 249
21.6.3 定义相加 250
21.6.4 __slot__限制添加属性 250
21.7 类和对象基础知识代码汇总 251
21.8 类和对象应用实例:月圆之夜,紫禁之巅 255
21.8.1 武林高手类(Warriors)的分析 255
21.8.2 巅峰对决类(Battles)的分析 256
21.8.3 类生成对象模拟不同地点和对手的比武 256
21.8.4 代码实现 257
本章小结 259
习题 259
第22章 将.py文件转成可执行文件 261
22.1 pyinstaller的安装和用途 262
22.2 使用pyinstaller生成可执行文件 262
22.2.1 打包成一个可执行文件夹 262
22.2.2 打包后发生了什么 262
22.2.3 打包成一个可执行文件 263
22.3 代码中用到的数据文件路径可能需要特别处理 263
22.3.1 数据文件运行时找不到 263
22.3.2 代码中用到的数据文件的路径改成不用“.”的相对路径 264
22.3.3 打包数据文件时指明当前和打包后的存放位置 264
22.3.4 打包成一个可执行文件要手动复制数据文件 265
22.4 引发错误的单引号 265
22.5 pyinstaller常用命令 265
本章小结 266
习题 266
第23章 下载视频并将其转成音频 267
23.1 借助moviepy模块将视频批量转成音频 268
23.2 用youtube-dl命令下载视频 268
23.3 借助youtube-dl模块下载视频并设置format参数 270
23.4 在代码中用 youtube-dl 下载播放列表和获取视频信息 272
23.5 youtube-dl模块配合FFmpeg下载和转换视频 275
23.6 youtube-dl模块的progress-hooks参数 276
本章小结 278
习题 278
第24章 最后出场并不表示不重要 279
24.1 新手入门常见错误 280
24.1.1 第一道拦路虎 280
24.1.2 丢三落四 280
24.1.3 无中生有 281
24.1.4 强人所难 281
24.1.5 无心之失 283
24.1.6 粗心大意 284
24.2 为什么要用if __name__ == __main__:? 285
24.3 有时候赋值不是你想象那样 287
24.4 常用快捷键 288
24.5 在Mac上安装工具Homebrew 289
24.5.1 在终端窗口输入安装Homebrew的命令 289
24.5.2 提示安装command line developer tools 289
24.5.3 Homebrew常用命令汇总 290
24.6 ImageMagick 290
24.6.1 安装ImageMagick 291
24.6.2 了解图片信息 291
24.6.3 调整图片尺寸 291
24.6.4 降低图片质量 292
24.6.5 加边框 292
24.6.6 在图片上写字 293
24.6.7 生成条形码 297
24.6.8 加文字水印 297
24.6.9 使用通配符批量处理图片 299
24.6.10 生成GIF动态图 300
24.6.11 图片的拼接和叠加 301
24.6.12 PDF与图片互相转换 305
24.6.13 利用字体文件画出有趣的符号 306
24.6.14 绘制验证码 307
24.7 用Tesseract命令行识别图片上的文字 308
24.7.1 安装与查看版本 308
24.7.2 识别英文 309
24.7.3 安装中文训练字库和识别中文 309
24.8 代码参考 311
24.8.1 批量修改文本文件 311
24.8.2 批量修改文件名和分级建立文件夹 312
24.8.3 批量下载图片 317
24.8.4 识别字符串里的中文字符 318
24.8.5 自动汇总材料生成Word文档并编辑和排版 319
本章小结 324
习题 324

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

石英 原厦门大学计算机学院教师。 最开始自学Python,后把学习过程和心得做成视频课程分享给公众,受到用户欢迎,开始系统录制视频课程,并开发了相关学习网站PythonABC.org、公众号等。

推荐用户

购买本书用户

相关图书

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