描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302509301
本书分为16章,主要内容包括开发环境、数据结构、函数、面向对象、多线程、模块、包、GUI模块、图形模块、正则模块、文件处理模块、网络编程模块和爬虫模块等,并且为每个模块提供了实战示例,*后用两章来介绍数据库编程实战和爬虫框架实战。
本书内容详尽、示例丰富,适合广大Python入门读者和Python开发人员阅读,同时也可作为高等院校和培训学校计算机相关专业的师生教学参考。
第1章 搭建Python开发环境 1
1.1 Python的版本说明 1
1.2 Python的安装 2
1.2.1 Windows下安装Python 2
1.2.2 Linux下安装Python 6
1.3 打开Python的方式 8
1.4 交互模式解释器 9
1.5 第一个Python程序Hello World 10
1.5.1 交互式 10
1.5.2 脚本式 10
1.6 Python开发工具 11
1.6.1 Python自带集成开发环境IDEL 11
1.6.2 安装PyCharm集成开发环境 14
1.6.3 使用PyCharm集成开发环境 21
1.7 注意Python的缩进 22
第2章 Python中的数据与结构 24
2.1 Python中的标准数据类型 24
2.2 变量 25
2.3 数字 26
2.3.1 使用整型 26
2.3.2 使用浮点型 27
2.3.3 使用布尔型 28
2.3.4 使用复数型 29
2.4 字符串 29
2.4.1 字符串的单引号、双引号、三引号 29
2.4.2 字符串的截取 30
2.4.3 字符串的拼接 31
2.4.4 字符串的各种常用运算符 32
2.4.5 字符串的转义 33
2.4.6 字符串的格式化符号 34
2.4.7 字符串的内置函数 37
2.5 列表 39
2.5.1 使用列表 39
2.5.2 访问列表 40
2.5.3 列表常用的内置函数 41
2.5.4 列表排序 43
2.5.5 删除列表 44
2.5.6 获取列表中的最大值和最小值 45
2.5.7 列表常用运算符 45
2.6 元组 46
2.6.1 使用元组 46
2.6.2 访问元组 47
2.6.3 元组常用的内置函数 47
2.6.4 删除元组 48
2.6.5 获取元组中的最大值和最小值 48
2.6.6 元组常用运算符 48
2.6.7 元组与列表的转换 49
2.7 字典 49
2.7.1 使用字典 49
2.7.2 访问字典 50
2.7.3 字典常用的内置函数 50
2.7.4 删除字典 52
2.7.5 字典常用运算符 53
2.8 集合 53
2.8.1 使用集合 54
2.8.2 集合常用的内置函数 54
2.8.3 集合常用运算符(交集、并集、差集、对称差集) 56
2.9 推导式 57
2.9.1 初识推导 57
2.9.2 嵌套推导 58
2.10 数据结构实战:文本统计分析 59
2.10.1 文本统计功能 59
2.10.2 文本比较功能 60
第3章 结构语句 62
3.1 顺序、选择和循环 62
3.1.1 顺序结构 62
3.1.2 选择结构 63
3.1.3 循环结构 64
3.2 用if选择 64
3.2.1 选择语句格式 65
3.2.2 选择语句详解 66
3.2.3 选择语句的嵌套 66
3.3 用while循环 67
3.3.1 while语句基本格式 67
3.3.2 while语句的应用 68
3.3.3 无限循环(死循环) 69
3.3.4 带else的while循环 70
3.4 用for循环 71
3.4.1 for语句基本格式 71
3.4.2 for语句的应用 71
3.4.3 for与range结合遍历数字序列 72
3.5 中断语句break、continue 73
3.5.1 break语句 73
3.5.2 continue语句 74
3.6 循环实战:九九乘法表 75
第4章 函数 77
4.1 使用函数 77
4.1.1 定义函数 77
4.1.2 函数的返回值 78
4.1.3 函数的嵌套 78
4.2 函数的参数 79
4.2.1 形参、实参 79
4.2.2 必要参数 79
4.2.3 有默认值的参数 80
4.2.4 关键字参数 81
4.2.5 不定长参数(可变参数) 82
4.2.6 各种参数组合 83
4.3 全局变量、局部变量 83
4.3.1 全局和局部的概念 83
4.3.2 函数中局部变量的作用域 84
4.3.3 global全局变量 84
4.4 匿名函数 85
4.4.1 使用匿名函数 85
4.4.2 匿名函数的参数默认值 86
4.5 函数实战:八皇后问题 86
第5章 面向对象编程 92
5.1 面向对象基础 92
5.2 定义与使用类 93
5.2.1 类的定义 93
5.2.2 类的构造方法和析构方法 94
5.2.3 类的私有属性 95
5.2.4 类的私有方法 96
5.2.5 一个完整的类 96
5.3 类与类的关系 97
5.3.1 单继承 98
5.3.2 多继承 99
5.3.3 类的关联和依赖 99
5.3.4 类的聚合和复合 101
5.4 重写 102
5.5 魔术方法 102
5.5.1 魔术方法的概念 102
5.5.2 魔术方法的应用 103
5.6 迭代器 106
5.7 生成器 107
5.7.1 生成器的概念 107
5.7.2 生成器的应用 107
5.8 装饰器 108
5.8.1 装饰器基础 108
5.8.2 不带参数的装饰器 109
5.8.3 带参数的装饰器 110
5.8.4 多个装饰器装饰一个函数 111
5.9 上下文管理器与with语句 112
5.9.1 上下文管理器的几个概念 112
5.9.2 上下文管理器的应用 113
5.9.3 自定义上下文管理器 113
5.10 面向对象实战:数字图形 114
5.10.1 需求分析 114
5.10.2 程序开发 118
5.10.3 程序入口 123
第6章 程序异常与调试 124
6.1 识别异常 124
6.1.1 异常的概念 124
6.1.2 语法引出的异常 125
6.1.3 运行时引出的异常 125
6.1.4 分析异常提示信息 125
6.2 Python中处理异常的语法 126
6.3 处理异常的细节 127
6.3.1 except语句的多种形式 127
6.3.2 抛出异常(引发异常)raise 130
6.4 自定义异常 130
6.5 调试程序 131
6.5.1 IDLE的简单调试 131
6.5.2 利用日志模块logging调试 132
6.5.3 利用pdb调试 133
6.6 异常实战:计算机猜数 135
6.6.1 需求分析 135
6.6.2 算法分析 136
6.6.3 编程实现 138
6.6.4 异常处理 141
6.6.5 异常类定义 141
6.6.6 抛出和捕获异常 142
第7章 多线程 145
7.1 线程的概念 145
7.2 创建多线程 146
7.2.1 通过threading.Thread()创建线程 146
7.2.2 通过继承threading.Thread类创建线程 147
7.3 主 线 程 148
7.4 阻塞线程 149
7.5 判断线程是否是活动的 150
7.6 线程同步 152
7.6.1 同步的概念 152
7.6.2 Python中的锁 153
7.6.3 Python中的条件锁 153
第8章 模块和包 157
8.1 模块 157
8.1.1 标准库中的模块 157
8.1.2 查看模块的代码 158
8.2 导入模块 160
8.2.1 最简单的导入 160
8.2.2 from…import语句 161
8.2.3 from…import *语句 162
8.2.4 导入自定义的模块 162
8.3 包 163
8.3.1 包和模块的区别 163
8.3.2 包的结构 164
8.3.3 导入自定义的包 164
8.4 命名空间 165
8.4.1 命名空间 166
8.4.2 全局命名空间 167
8.4.3 局部命名空间 168
8.4.4 命名空间和类 169
8.4.5 命名空间和类的实例化 170
8.4.6 命名空间和类的继承 172
第9章 Tkinter模块——图形界面编程 174
9.1 Tkinter模块 174
9.1.1 Tkinter模块的Hello World 程序 175
9.1.2 tkinter包介绍 177
9.1.3 主窗口 178
9.2 Tkinter控件 179
9.2.1 控件的介绍 179
9.2.2 控件的特性 181
9.2.3 Tkinter几何管理器 182
9.2.4 Tkinter 事件及回调 185
9.3 Tkinter实战 186
9.3.1 创建主窗口 186
9.3.2 添加菜单栏及菜单选项 186
9.3.3 添加下拉菜单 188
9.3.4 实现简单记事本 190
第10章 re模块——正则表达式 193
10.1 正则表达式简介 193
10.1.1 正则表达式概念 193
10.1.2 正则表达式构成 194
10.2 re模块的简单应用 196
10.3 常用正则表达式 199
10.3.1 常用数字表达式的校验 200
10.3.2 常用字符表达式的校验 202
10.3.3 特殊需求表达式的校验 203
第11章 os模块与shutil模块——文件处理 206
11.1 os模块 206
11.1.1 获取系统类型 206
11.1.2 获取系统环境 207
11.1.3 执行系统命令 208
11.1.4 操作目录及文件 209
11.2 shutil模块 214
11.2.1 复制文件 214
11.2.2 移动文件 216
11.2.3 读取压缩及归档压缩文件 216
11.2.4 解压文件 217
11.3 文件处理实战 217
第12章 PIL(Pillow)模块——图像实战 220
12.1 Pillow库简介与安装 220
12.1.1 Pillow库的介绍 221
12.1.2 Pillow库的安装 221
12.2 Image类的使用 222
12.2.1 Image类的属性 222
12.2.2 Image类的函数 223
12.3 图像的基本合成 231
12.3.1 调用Image.composite接口 231
12.3.2 调用Image.blend接口 232
12.3.3 调用Image.paste接口 232
12.4 图像的变换 233
12.4.1 图像格式及尺寸变换 233
12.4.2 图像通道变换 234
12.4.3 图像几何变换 235
12.4.4 图像变换成OpenCV格式 235
12.5 图像处理实战 236
第13章 socket模块——网络编程 237
13.1 网络编程基础 237
13.1.1 网络协议 237
13.1.2 IP地址与端口 239
13.1.3 socket 240
13.2 使用TCP的服务器与客户端 246
13.2.1 TCP工作原理 246
13.2.2 TCP服务器的实现 247
13.2.3 TCP客户端的实现 248
13.3 使用UDP的服务器与客户端 250
13.3.1 UDP工作原理 251
13.3.2 UDP服务器的实现 251
13.3.3 UDP客户端的实现 252
13.4 网络编程实战 253
第14章 urllib工具包——网络爬虫编程 257
14.1 urllib、urllib2与urllib3的异同 257
14.2 request模块 259
14.2.1 urlopen()、build_opener()和build_opener()方法 260
14.2.2 Request类 263
14.2.3 其他类 266
14.3 error模块 267
14.4 parse模块 268
14.4.1 URL解析 268
14.4.2 URL转义 271
14.5 robotparser模块 274
14.6 urllib网络爬虫实战 275
第15章 Python数据库编程实战 278
15.1 操作SQLite 278
15.1.1 创建SQLite数据库 278
15.1.2 创建SQLite数据表 279
15.1.3 为数据表添加数据 280
15.1.4 查询数据 280
15.1.5 更新数据 281
15.1.6 删除数据 281
15.1.7 connect和cursor的各种函数 281
15.2 操作MySQL 282
15.2.1 安装PyMySQL库 282
15.2.2 连接MySQL数据库 283
15.2.3 增、删、查、改数据 284
15.3 使用ORM框架SQLAlchemy操作MySQL 284
15.3.1 ORM的意义 285
15.3.2 安装SQLAlchemy 285
15.3.3 导入SQLAlchemy 286
15.3.4 使用SQLAlchemy操作数据库 286
第16章 Scrapy爬虫实战 288
16.1 安装Scrapy 288
16.1.1 Windows下安装Scrapy环境 288
16.1.2 Linux下安装Scrapy 289
16.1.3 vim编辑器 290
16.2 Scrapy选择器XPath和CSS 291
16.2.1 XPath选择器 291
16.2.2 CSS选择器 294
16.2.3 其他选择器 295
16.3 天气预报项目 296
16.3.1 项目准备 296
16.3.2 创建编辑Scrapy爬虫 297
16.3.3 数据存储到json 303
16.3.4 数据存储到MySQL 305
不管你从事的是什么行业,进行数据分析也好,开发网页也好,做数据库后台编程也好,做股票分析也好,Python都是你必须学会的一门语言。市场上有很多图书,随Python版本的升级会显得比较旧,讲解方式也比较费解。本书选择比较新的Python 3.6.4版本用初学者容易上手的示例学习方法进行讲解,全书逻辑线索清晰,方便读者轻松入门。
本书特色
如何快速学习Python编程一直是很多初学者的疑问,网上的资料很多,但不系统,很多系统的教程又过于偏重讲解,示例较少,让初学者很难坚持。因此,对于很多入门读者,更好的方式是先学习基础的Python语法,然后学习各种常见模块,最后在实践中完善代码编写技巧。学习过程中贯穿大小示例,方便读者对知识点做实践,基于这种想法,笔者编写了本书。本书特色如下:
1. 上手门槛低,完全无基础也可入门
作为入门图书,不会涉及计算机原理、操作系统等枯燥内容,读者可以没有这方面的基础,本书提供详细的开发环境搭建步骤及编程技巧讲解,手把手指导读者入门Python。
2. 多个操作系统版本介绍,Linux、Windows、MacOS都可以轻松学习
当前流行的操作系统各异,有些读者喜欢Linux,有些公司提供MacOS,更多的是常见的Windows,本书很多案例都会提供不同操作系统的介绍,让读者了解Python的跨平台特性,在任何操作系统下都可轻松学习。
3. 多个上手小示例,几乎每章最后都有应用实战,让读者综合练习,学完就会
读者学会了Python语法,只是了解了如何写Python代码,但是如何用Python解决问题却需要很多项目来练手。本书几乎每章最后都提供或小或大的实战案例,让读者既学会语法也学会编程。
代码、教学视频下载
本书配套的示例代码与教学视频下载地址可以通过扫描右边的二维码获取。如果下载有问题或阅读中存在疑问,请联系[email protected],邮件主题为“Python3.6零基础入门与实战”。
本书读者
本书适合以下读者阅读:
? 没有学过编程,但对Python编程感兴趣的读者
? 有计算机语言基础,想入门Python编程的读者
? Python数据分析处理入门读者
? 机器学习入门读者
? 网络爬虫爱好者
? 初级网络管理员
? 企业网络运维人员
本书作者
本书由王启明、罗从良编著,其中第1~8章、第15~16章由平顶山学院信息工程学院的王启明编写,第9~14章由罗从良编写,其他参与创作的还有王晓华、刘鑫、陈素清、常新峰、林龙、王亚飞、薛燚、王刚、吴贵文、李雷霆、李一鸣、谢志强,排名不分先后。
编者
2018年8月
评论
还没有评论。