Python核心技术实战详解
书籍作者:张洪朋 |
ISBN:9787115512864 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:4262 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
内 容 提 要
本书逐层深入地介绍了Python的核心开发技术,并通过具体实例演练了各个知识点的使用流程。全书共10章,分别讲解了正则表达式、网络编程、多线程开发、Tkinter图形化界面开发、数据持久化、Pygame游戏开发、数据可视化、Django Web开发、Flask Web开发和网络爬虫开发等知识。全书简洁而不失技术深度,内容丰富,以通俗易懂的文字介绍了复杂的案例,易于阅读。
本书适用于已经了解Python基础语法的读者,以及希望进一步提高自己Python开发水平的读者,也可以作为大专院校相关专业的师生用书和培训学校的专业性教材。
作者简介
张洪朋,西南理工大学计算机硕士,山东天易信息技术有限公司,6年Python开发经验,精通Python设计模式,擅长自动化运维平台开发。并且拥有5年以上PHP开发经验,熟悉关系型数据库,精通Linux 操作系统。现在负责企业级Python运维和架构工作,业余时间喜欢创作和技术分享。
编辑推荐
1.内容讲解深入。
本书对Python的核心知识进行了深入剖析,循序渐进地讲解了核心功能模块的开发技术,帮助读者快速步入Python开发高手之列。
2.提供更为广泛的解决方案。
本书深入讲解了10个不同的主题模块,每一个主题涵盖了特定应用开发领域。在书中不仅给出了案例讲解,还包含了更多的拓展知识,能够帮助读者使用Python 开发各种类型的应用程序。
3.通过网站论坛形成互帮互学的朋友圈。
为了方便给读者答疑,特提供了网站论坛等支持,并且随时在线与读者互动,让大家在互学互帮中形成一个良好的学习编程的氛围。
目录
目 录
第 1章 正则表达式 1
1.1 基本语法 2
1.1.1 普通字符 2
1.1.2 非打印字符 2
1.1.3 特殊字符 3
1.1.4 使用小括号指定分组 6
1.1.5 限定符 7
1.1.6 定位符 8
1.1.7 限定范围和否定 9
1.1.8 运算符优先级 9
1.1.9 扩展表示法 9
1.2 使用re模块中的库函数 10
1.2.1 re模块中的库函数和属性 10
1.2.2 使用函数compile() 11
1.2.3 使用函数match() 11
1.2.4 使用函数search() 13
1.2.5 使用函数findall() 14
1.2.6 使用函数sub()和subn() 15
1.2.7 使用函数split() 16
1.2.8 使用扩展符号 16
1.3 使用Pattern对象 17
1.4 正则表达式模式 17
第 2章 网络编程 22
2.1 套接字编程 23
2.1.1 Socket库中的内置函数和
属性 23
2.1.2 socket对象的内置函数和
属性 24
2.1.3 使用socket建立TCP“客户
端/服务器端”连接 26
2.1.4 使用套接字建立UDP“客户
端/服务器端”连接 29
2.2 socketserver编程 30
2.2.1 socketserver模块基础 30
2.2.2 socketserver对象 32
2.2.3 使用socketserver创建TCP
“客户端/服务器端”
程序 32
2.2.4 使用ThreadingTCPServer创
建“客户端/服务器端”通信
程序 33
2.3 使用select模块实现I/O多路
复用 34
2.3.1 select模块概述 34
2.3.2 I/O多路复用并实现读/写
分离 36
2.3.3 使用select实现一个可
并发的服务器端 37
2.3.4 在Linux系统中使用
epoll() 38
2.4 urllib包 39
2.4.1 urllib包概述 39
2.4.2 使用urllib.request模块 39
2.4.3 使用urllib.parse模块 41
2.5 使用HTTP包 42
2.5.1 使用http.client模块 43
2.5.2 使用HTTPConnection对象
访问指定网站 44
2.5.3 以客户端的形式同HTTP
服务交互 45
2.6 收发电子邮件 47
2.6.1 开发支持POP3邮件协议的
程序 47
2.6.2 开发支持SMTP邮件协议
的程序 49
2.6.3 使用email库 51
2.7 开发FTP程序 53
2.7.1 Python和FTP 53
2.7.2 创建一个FTP客户端 53
2.8 解析XML 55
2.8.1 使用xml.etree.ElementTree
模块 55
2.8.2 SAX解析方法 59
2.8.3 使用DOM解析方法 62
2.8.4 使用xml.parsers.expat
模块 65
2.9 解析JSON数据 67
2.9.1 类型转换 67
2.9.2 编码和解码 68
第3章 多线程开发 75
3.1 _thread模块 76
3.1.1 _thread模块概述 76
3.1.2 使用_thread模块 76
3.2 threading模块 77
3.2.1 threading模块的核心
方法 77
3.2.2 使用Thread对象 77
3.2.3 使用Lock和RLock
对象 80
3.2.4 使用Condition对象 85
3.2.5 使用Semaphore和
BoundedSemaphore对象 88
3.2.6 使用Event对象 90
3.2.7 使用Timer对象 92
3.2.8 使用local对象 93
3.2.9 使用Barrier对象 94
3.3 使用进程库multiprocessing 95
3.3.1 使用Process 95
3.3.2 使用Pipe和Queue
对象 97
3.3.3 使用Connection对象 99
3.3.4 使用共享对象Shared 99
3.3.5 使用Manager对象 101
3.3.6 使用Proxy对象 102
3.3.7 使用进程池对象Pool 103
3.3.8 实现Actor并发编程 107
3.4 使用线程优先级队列模块
queue 109
3.4.1 模块queue中的常用
方法 109
3.4.2 基本FIFO队列 112
3.4.3 LIFO队列 113
3.4.4 优先级队列 113
3.4.5 轮询多个线程队列 113
3.5 使用模块subprocess创建进程 115
3.5.1 全新的run()方法 115
3.5.2 旧版本中的高级API 116
3.5.3 使用类Popen创建进程 117
第4章 Tkinter图形化界面开发 120
4.1 Tkinter开发基础 121
4.1.1 第 一个Tkinter程序 121
4.1.2 向窗口中添加组件 121
4.2 Tkinter控件开发 122
4.2.1 Tkinter控件概览 122
4.2.2 使用按钮控件 123
4.2.3 使用文本框控件 124
4.2.4 使用菜单控件 126
4.2.5 使用标签控件 127
4.2.6 使用单选按钮和复选框
控件 128
4.2.7 使用绘图控件 129
4.3 事件处理 131
4.3.1 Tkinter事件基础 131
4.3.2 动态绘图程序 134
4.3.3 制作一个计算器 136
4.4 实现对话框效果 137
4.4.1 创建消息框 137
4.4.2 创建输入对话框 138
4.4.3 创建“打开/保存文件”
对话框 139
4.4.4 创建颜色选择对话框 140
4.4.5 创建自定义对话框 141
4.4.6 开发一个记事本程序 142
4.5 使用偏函数 144
4.5.1 什么是偏函数 145
4.5.2 桌面天气预报程序 146
4.6 开发一个资源管理器 147
第5章 数据持久化 151
5.1 操作SQLite3数据库 152
5.1.1 sqlite3模块介绍 152
5.1.2 使用sqlite3模块操作
SQLite3数据库 157
5.1.3 SQLite和Python的
类型 159
5.1.4 事务控制 163
5.1.5 通过Tkinter和SQLite3
实现图书管理系统 164
5.2 操作MySQL数据库 167
5.2.1 搭建PyMySQL环境 167
5.2.2 实现数据库连接 167
5.2.3 创建数据库表 168
5.2.4 数据库插入操作 169
5.2.5 数据库查询操作 169
5.2.6 数据库更新操作 170
5.2.7 数据库删除操作 171
5.2.8 执行事务 171
5.2.9 通过Tkinter与MySQL开发
客户通信录系统 172
5.3 使用MariaDB数据库 179
5.3.1 搭建MariaDB数据库
环境 179
5.3.2 在Python程序中使用
MariaDB数据库 181
5.3.3 使用MariaDB创建MySQL
数据库 183
5.4 使用MongoDB数据库 185
5.4.1 搭建MongoDB环境 185
5.4.2 在Python程序中使用
MongoDB数据库 186
5.5 使用ORM操作数据库 188
5.5.1 Python和ORM 189
5.5.2 使用SQLAlchemy 189
5.5.3 使用mongoengine 193
第6章 Pygame游戏开发 195
6.1 安装Pygame 196
6.2 Pygame开发基础 197
6.2.1 Pygame框架中的模块 197
6.2.2 事件操作 199
6.2.3 显示模式设置 201
6.2.4 字体处理 202
6.2.5 像素和颜色处理 203
6.2.6 使用Surface绘制图像 204
6.2.7 使用pygame.draw绘图
函数 204
6.3 经典小游戏实战 206
6.3.1 开发一个俄罗斯方块
游戏 206
6.3.2 仿微信打飞机游戏 213
6.3.3 传统贪吃蛇游戏和智能
贪吃蛇游戏 217
6.3.4 推箱子游戏 226
6.3.5 吃苹果游戏 232
第7章 数据可视化 236
7.1 使用Matplotlib 237
7.1.1 搭建Matplotlib环境 237
7.1.2 初级绘图 238
7.1.3 自定义散点图样式 241
7.1.4 绘制柱状图 242
7.1.5 绘制多幅子图 247
7.1.6 绘制曲线 249
7.1.7 绘制随机漫步图 254
7.1.8 通过大数据分析某年最高
温度和最低温度 257
7.1.9 在Tkinter中使用Matplotlib
绘制图表 258
7.2 使用Pygal库 259
7.2.1 安装Pygal库 260
7.2.2 使用Pygal库模拟
掷骰子 260
7.3 读/写处理CSV文件 262
7.3.1 CSV模块介绍 263
7.3.2 操作CSV文件 265
7.3.3 提取CSV数据并保存到
MySQL数据库中 268
7.3.4 提取CSV数据并保存到
SQLite数据库中 271
7.4 使用Pandas库 272
7.4.1 安装Pandas库 272
7.4.2 从CSV文件读取数据 272
7.4.3 选择指定数据 277
7.4.4 日期相关操作 280
7.5 使用NumPy库 285
7.5.1 安装NumPy库 285
7.5.2 数组对象 285
7.5.3 使用通用函数 289
7.5.4 在NumPy库中使用
Matplotlib库 294
第8章 Django Web开发 296
8.1 引言 297
8.2 Django开发基础 297
8.2.1 搭建Django环境 297
8.2.2 常用的Django命令 298
8.2.3 第 一个Django项目 299
8.2.4 在URL中传递参数 301
8.2.5 使用模板 303
8.2.6 使用表单 307
8.2.7 实现基本的数据库操作 308
8.3 使用Django后台系统开发一个
博客系统 309
8.4 开发一个新闻聚合系统 311
8.4.1 基本设置 312
8.4.2 获取聚合信息 312
8.4.3 视图处理 316
8.4.4 模板文件 318
8.5 开发一个在线商城系统 321
8.5.1 系统设置 321
8.5.2 前台商城展示模块 322
8.5.3 购物车模块 325
8.5.4 订单模块 329
第9章 Flask Web开发 333
9.1 Flask开发基础 334
9.1.1 Django和Flask的
对比 334
9.1.2 安装Flask 334
9.1.3 第 一个Flask Web程序 335
9.2 使用Flask开发Web程序 337
9.2.1 传递URL参数 337
9.2.2 使用会话和cookie 339
9.2.3 使用Flask-Script扩展 340
9.2.4 使用模板 341
9.2.5 使用Flask-Bootstrap
扩展 343
9.2.6 使用Flask-Moment扩展
本地化日期和时间 345
9.3 表单操作 347
9.3.1 使用Flask-WTF扩展 347
9.3.2 文件上传 350
9.4 使用数据库 351
9.4.1 Python数据库框架 351
9.4.2 会员注册与登录 351
9.4.3 使用Flask-SQLAlchemy
管理数据库 354
9.5 收发电子邮件 356
9.5.1 使用Flask-Mail扩展 356
9.5.2 使用SendGrid发送
邮件 359
9.6 通过Flask、MySQL和SqlAlchemy开发信息发布系统 361
9.6.1 使用Virtualenv创建虚拟
环境 361
9.6.2 使用Flask实现数据库
迁移 362
9.6.3 具体实现 363
第 10章 网络爬虫开发 370
10.1 网络爬虫基础 371
10.2 开发简单的网络爬虫应用
程序 371
10.3 使用爬虫框架Scrapy 375
10.3.1 Scrapy框架基础 375
10.3.2 搭建Scrapy环境 376
10.4 综合实战——桌面壁纸抓取
系统 377
10.4.1 创建项目 377
10.4.2 系统设置 377
10.4.3 创建数据库 377
10.4.4 声明需要格式化的
字段 379
10.4.5 实现保存功能的类 379
10.4.6 实现具体的爬虫 380
10.5 大数据实战——抓取知乎数据并
分析 383
10.5.1 系统简介 383
10.5.2 检测“Redis”的状态 383
10.5.3 账号模拟登录 383
10.5.4 实现具体抓取功能 386
10.5.5 大数据分析 390
10.6 大数据实战——抓取大众点评
数据并分析 391
10.6.1 系统配置 391
10.6.2 实现数据库模块 394
10.6.3 实现爬虫模块 398
10.6.4 大数据分析:提取指定
类型商家的信息 406
10.6.5 大数据分析:提取数据到
Excel表格中 406
10.6.6 大数据分析:创建价格
条形图 408
10.6.7 大数据分析:创建用户
男女比例和VIP比例柱
形图 408
10.6.8 大数据分析:创建用户
位置分布饼形图 410
10.6.9 大数据分析:创建指定商
家点评信息的词云图 410