《PYTHON核心技术实战详解=CORE PYTHON PROGRAMMING》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:张洪朋
  • 出 版 社:
  • 出版年份:2019
  • ISBN:
  • 页数:0 页
图书介绍:

第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