Python从小白到大牛(第2版)

副标题:无

作   者:关东升

分类号:

ISBN:9787302562474

微信扫一扫,移动浏览光盘

简介


本书是一部系统论述Python 编程语言、OOP 编程思想以及函数式编程思想的立体化教程(含图书、教学课件、源代码与视频教程)。全书共分为四篇:篇Python 语言基础( ~ 8 章),第二篇Python 编程进阶(第9 ~17 章),第三篇Python 常用库与框架(8 ~ 22 章),第四篇Python 项目实战(第23 ~ 28 章)。主要内容包括:开篇综述、开发环境搭建、个Python 程序、Python 语法基础、Python 编码规范、数据类型、运算符、控制语句、数据结构(序列、集合和字典)、函数与函数式编程、面向对象编程、异常处理、常用模块、正则表达式、文件操作与管理、数据交换格式、数据库编程、网络编程、wxPython 图形用户界面编程、Python 多线程编程、项目实战1 :网络爬虫技术——爬取搜狐证券股票数据、项目实战2 :数据分析技术——贵州茅台股票数据分析、项目实战3 :数据可视化技术——贵州茅台股票数据可视化、项目实战4 :计算机视觉技术——网站验证码识别、项目实战5 :Python Web Flask 框架——PetStore 宠物商店项目、项目实战6:Python 综合技术——QQ 聊天工具开发。
为便于读者高效学习,快速掌握Python 编程方法,本书提供完整的教学课件、完整的源代码与丰富的配套视频教程以及在线答疑服务等内容。
本书适合作为Python 程序设计者的参考用书。


目录


推荐序 1

前言3

知识图谱 4

*篇 Python 语言基础

第1 章 开篇综述3

1.1 Python 语言历史 4

1.2 Python 语言设计哲学——Python 之禅4

1.3 Python 语言特点 5

1.4 Python 语言应用前景6

1.5 如何获得帮助 7

第2 章 开发环境搭建 8

2.1 搭建Python 环境8

2.2 PyCharm 开发工具 10

2.2.1 下载和安装 11

2.2.2 设置Python 解释器 12

2.3 文本编辑工具 14

2.4 本章小结14

2.5 动手实践14

第3 章 *个Python 程序 15

3.1 使用Python Shell15

3.2 使用PyCharm 实现17

3.2.1 创建项目 17

3.2.2 创建Python 代码文件 19

3.2.3 编写代码 20

3.2.4 运行程序 20

3.3 文本编辑工具 Python 解释器实现 21

3.3.1 编写代码 21

3.3.2 运行程序 21

3.4 代码解释22

Python 6 从小白到大牛(第2 版)

3.5 本章小结23

3.6 动手实践:世界,你好23

第4 章 Python 语法基础24

4.1 标识符和关键字 24

4.1.1 标识符 24

4.1.2 关键字 24

4.2 变量和常量 25

4.2.1 变量 25

4.2.2 常量 25

4.3 注释 25

4.4 语句 26

4.5 模块 27

4.6 包 28

4.6.1 创建包 28

4.6.2 包导入 29

4.7 本章小结30

4.8 同步练习30

第5 章 Python 编码规范31

5.1 命名规范31

5.2 注释规范32

5.2.1 文件注释 32

5.2.2 文档注释 32

5.2.3 代码注释 34

5.2.4 使用TODO 注释. 35

5.3 导入规范36

5.4 代码排版37

5.4.1 空行 37

5.4.2 空格 38

5.4.3 缩进 39

5.4.4 断行 39

5.5 本章小结40

5.6 同步练习40

第6 章 数据类型42

6.1 数字类型42

6.1.1 整数类型 42

6.1.2 浮点类型 43

6.1.3 复数类型 43

6.1.4 布尔类型 43

目录7

6.2 数字类型互相转换 44

6.2.1 隐式类型转换44

6.2.2 显式类型转换45

6.3 字符串类型 45

6.3.1 字符串表示方式45

6.3.2 字符串格式化47

6.3.3 字符串查找 49

6.3.4 字符串与数字互相转换 50

6.4 本章小结51

6.5 同步练习52

第7 章 运算符53

7.1 算术运算符 53

7.1.1 一元运算符 53

7.1.2 二元运算符 53

7.2 关系运算符 55

7.3 逻辑运算符 56

7.4 位运算符57

7.5 赋值运算符 59

7.6 其他运算符 61

7.6.1 同一性测试运算符 61

7.6.2 成员测试运算符62

7.7 运算符优先级 62

7.8 本章小结63

7.9 同步练习63

第8 章 控制语句64

8.1 分支语句64

8.1.1 if 结构 64

8.1.2 if-else 结构65

8.1.3 elif 结构 66

8.1.4 三元运算符替代品——条件表达式 67

8.2 循环语句67

8.2.1 while 语句67

8.2.2 for 语句 68

8.3 跳转语句69

8.3.1 break 语句69

8.3.2 continue 语句 70

8.3.3 while 和for 中的else 语句 70

8.4 使用范围72

Python 8 从小白到大牛(第2 版)

8.5 本章小结72

8.6 同步练习72

8.7 动手实践:计算水仙花数 73

第二篇 Python 编程进阶

第9 章 序列 77

9.1 序列概述77

9.1.1 索引操作 78

9.1.2 序列的加和乘78

9.1.3 序列切片 79

9.2 元组 80

9.2.1 创建元组 80

9.2.2 访问元组 81

9.2.3 遍历元组 82

9.3 列表 82

9.3.1 列表创建 83

9.3.2 追加元素 83

9.3.3 插入元素 84

9.3.4 替换元素 84

9.3.5 删除元素 84

9.3.6 其他常用方法85

9.3.7 列表推导式 86

9.4 本章小结87

9.5 同步练习87

9.6 动手实践:使用列表推导式 87

第10 章 集合88

10.1 可变集合 88

10.1.1 创建可变集合 88

10.1.2 修改可变集合 89

10.1.3 遍历集合 90

10.2 不可变集合90

10.3 集合推导式91

10.4 本章小结 92

10.5 同步练习 92

10.6 动手实践:使用集合推导式 92

第11 章 字典 93

11.1 创建字典 93

目录9

11.1.1 使用大括号创建字典 93

11.1.2 使用dict() 函数创建字典 94

11.2 修改字典 95

11.3 访问字典 96

11.4 遍历字典 96

11.5 字典推导式 97

11.6 本章小结 98

11.7 同步练习 98

11.8 动手实践:使用字典推导式 98

第12 章 函数与函数式编程 99

12.1 定义函数 99

12.2 函数参数 100

12.2.1 使用关键字参数调用函数 100

12.2.2 参数默认值 100

12.2.3 单星号(*)可变参数 101

12.2.4 双星号(**)可变参数 102

12.3 函数返回值 102

12.3.1 无返回值函数102

12.3.2 多返回值函数103

12.4 函数变量作用域 104

12.5 生成器105

12.6 嵌套函数 107

12.7 函数式编程基础 108

12.7.1 高阶函数与函数类型108

12.7.2 函数作为其他函数返回值使用 109

12.7.3 函数作为其他函数参数使用 109

12.7.4 匿名函数与lambda 表达式110

12.8 函数式编程的三大基础函数111

12.8.1 过滤函数filter() 111

12.8.2 映射函数map() 112

12.8.3 聚合函数reduce() 112

12.9 装饰器113

12.9.1 一个没有使用装饰器的示例 113

12.9.2 使用装饰器 114

12.9.3 同时使用多个装饰器114

12.9.4 给装饰器传递参数 115

12.10 本章小结116

12.11 同步练习116

Python 10 从小白到大牛(第2 版)

12.12 动手实践:找出素数 117

第13 章 面向对象编程 118

13.1 面向对象概述 118

13.2 面向对象三个基本特性 118

13.2.1 封装性 118

13.2.2 继承性 118

13.2.3 多态性 119

13.3 类和对象 119

13.3.1 定义类 119

13.3.2 创建和使用对象 119

13.3.3 实例变量 120

13.3.4 类变量 121

13.3.5 构造方法 122

13.3.6 实例方法 123

13.3.7 类方法 124

13.3.8 静态方法 124

13.4 封装性125

13.4.1 私有变量 125

13.4.2 私有方法 126

13.4.3 定义属性 127

13.5 继承性128

13.5.1 继承概念 128

13.5.2 重写方法 129

13.5.3 多继承 130

13.6 多态性131

13.6.1 多态概念 131

13.6.2 类型检查 132

13.6.3 鸭子类型 133

13.7 Python 根类——object134

13.7.1 __str__() 方法 134

13.7.2 对象比较方法135

13.8 本章小结 136

13.9 同步练习 136

13.10 动手实践:设计多继承骡子类136

第14 章 异常处理 137

14.1 一个异常示例 137

14.2 异常类继承层次 138

14.3 常见异常 139

目录11

14.3.1 AttributeError 异常139

14.3.2 OSError 异常 140

14.3.3 IndexError 异常 140

14.3.4 KeyError 异常141

14.3.5 NameError 异常 141

14.3.6 TypeError 异常 141

14.3.7 ValueError 异常 142

14.4 捕获异常 142

14.4.1 try-except 语句 142

14.4.2 多个except 代码块143

14.4.3 try-except 语句嵌套 145

14.4.4 多重异常捕获146

14.5 异常堆栈跟踪 146

14.6 释放资源 147

14.6.1 finally 代码块148

14.6.2 else 代码块 149

14.6.3 with as 代码块自动资源管理150

14.7 自定义异常类 151

14.8 显式抛出异常 151

14.9 本章小结 152

14.10 同步练习152

14.11 动手实践:释放资源 152

第15 章 常用模块 153

15.1 math 模块 153

15.1.1 舍入函数 153

15.1.2 幂和对数函数154

15.1.3 三角函数 154

15.2 random 模块 155

15.3 datetime 模块 156

15.3.1 datetime、date 和time 类 157

15.3.2 日期时间计算159

15.3.3 日期时间格式化和解析160

15.3.4 时区162

15.4 本章小结 163

15.5 同步练习 163

15.6 动手实践:输入与转换日期163

第16 章 正则表达式 164

16.1 正则表达式中的字符164

Python 12 从小白到大牛(第2 版)

16.1.1 元字符 164

16.1.2 字符转义 165

16.1.3 开始与结束字符 165

16.2 字符类166

16.2.1 定义字符类 166

16.2.2 字符类取反 167

16.2.3 区间167

16.2.4 预定义字符类168

16.3 量词 169

16.3.1 使用量词 169

16.3.2 贪婪量词和懒惰量词170

16.4 分组 171

16.4.1 定义分组 171

16.4.2 命名分组 172

16.4.3 反向引用分组172

16.4.4 非捕获分组 174

16.5 re 模块中重要函数174

16.5.1 search() 和match() 函数 174

16.5.2 findall() 和finditer() 函数 176

16.5.3 字符串分割 176

16.5.4 字符串替换 177

16.6 编译正则表达式 178

16.6.1 已编译正则表达式对象178

16.6.2 编译标志 180

16.7 本章小结 183

16.8 同步练习 183

16.9 动手实践:找出HTML 中的图片183

第17 章 文件操作与管理 184

17.1 文件操作 184

17.1.1 打开文件 184

17.1.2 关闭文件 186

17.1.3 文本文件读写187

17.1.4 二进制文件读写 187

17.2 os 模块 188

17.3 os.path 模块 189

17.4 本章小结 191

17.5 同步练习 191

17.6 动手实践:读写日期191

目录13

第三篇 Python 常用库与框架

第18 章 数据交换格式 195

18.1 XML 数据交换格式 196

18.1.1 XML 文档结构 196

18.1.2 解析XML 文档 197

18.1.3 使用XPath 200

18.2 JSON 数据交换格式 201

18.2.1 JSON 文档结构 201

18.2.2 JSON 数据编码 203

18.2.3 JSON 数据解码 204

18.3 本章小结 206

18.4 同步练习 206

18.5 动手实践:解析结构化文档206

第19 章 数据库编程 207

19.1 数据持久化技术概述207

19.2 MySQL 数据库管理系统 207

19.2.1 数据库安装和配置 208

19.2.2 登录服务器 212

19.2.3 常见的管理命令 213

19.3 Python DB-API216

19.3.1 建立数据库连接 217

19.3.2 创建游标 218

19.4 实例:User 表CRUD 操作 218

19.4.1 安装PyMySQL 库 218

19.4.2 数据库编程一般过程219

19.4.3 数据查询操作220

19.4.4 数据修改操作222

19.5 NoSQL 数据存储225

19.5.1 dbm 数据库的打开和关闭 225

19.5.2 dbm 数据存储226

19.6 本章小结 227

19.7 同步练习 227

19.8 动手实践:从结构化文档迁移数据到数据库 227

第20 章 网络编程 228

20.1 网络基础 228

20.1.1 网络结构 228

20.1.2 TCP/IP 229

Python 14 从小白到大牛(第2 版)

20.1.3 IP 地址 229

20.1.4 端口230

20.2 TCP Socket 低层次网络编程 230

20.2.1 TCP Socket 通信概述230

20.2.2 TCP Socket 通信过程230

20.2.3 TCP Socket 编程API231

20.2.4 实例:简单聊天工具232

20.2.5 实例:文件上传工具233

20.3 UDP Socket 低层次网络编程. 235

20.3.1 UDP Socket 编程API 235

20.3.2 实例:简单聊天工具236

20.3.3 实例:文本文件上传工具 237

20.4 访问互联网资源 238

20.4.1 URL 概念238

20.4.2 HTTP/HTTPS239

20.4.3 搭建自己的Web 服务器 239

20.4.4 使用urllib 库 243

20.4.5 发送GET 请求 243

20.4.6 发送POST 请求 244

20.4.7 实例:图片下载器 245

20.5 本章小结 245

20.6 同步练习 245

20.7 动手实践:解析来自Web 的结构化数据 246

第21 章 wxPython 图形用户界面编程 247

21.1 Python 图形用户界面开发工具包 247

21.2 wxPython 安装247

21.3 wxPython 基础248

21.3.1 wxPython 类层次结构 248

21.3.2 *个wxPython 程序 248

21.3.3 wxPython 界面构建层次结构252

21.3.4 界面设计工具252

21.4 事件处理 254

21.4.1 一对一事件处理 254

21.4.2 一对多事件处理 255

21.5 布局管理 257

21.5.1 不要使用*布局 257

21.5.2 Sizer 布局管理器257

21.5.3 Box 布局器 258

21.5.4 StaticBox 布局 260

目录15

21.5.5 Grid 布局 261

21.5.6 FlexGrid 布局263

21.6 wxPython 基本控件 264

21.6.1 静态文本和按钮 265

21.6.2 文本输入控件266

21.6.3 复选框 267

21.6.4 单选按钮 268

21.6.5 下拉列表 269

21.6.6 列表271

21.6.7 静态图片控件272

21.7 实例:图书信息网格274

21.8 本章小结 276

21.9 同步练习 276

21.10 动手实践:展示Web 数据276

第22 章 Python 多线程编程 277

22.1 基础知识 277

22.1.1 进程277

22.1.2 线程278

22.2 使用threading 模块 278

22.3 创建线程 279

22.3.1 自定义函数作为线程体279

22.3.2 继承Thread 线程类实现线程体 281

22.4 线程管理 282

22.4.1 等待线程结束282

22.4.2 线程停止 283

22.5 线程安全 284

22.5.1 临界资源问题285

22.5.2 多线程同步 287

22.6 线程间通信 288

22.6.1 使用Condition 实现线程间通信 288

22.6.2 使用Event 实现线程间通信 292

22.7 本章小结 293

22.8 同步练习 293

22.9 动手实践:网络爬虫293

第四篇 Python 项目实战

第23 章 项目实战1:网络爬虫技术——爬取搜狐证券股票数据 297

23.1 网络爬虫技术概述297

Python 16 从小白到大牛(第2 版)

23.1.1 网络通信技术297

23.1.2 多线程技术 297

23.1.3 数据交换技术298

23.1.4 Web 前端技术298

23.1.5 数据解析技术299

23.1.6 数据存储技术300

23.2 爬取数据 300

23.2.1 网页中静态和动态数据300

23.2.2 使用urllib 爬取数据 301

23.2.3 使用Selenium 爬取数据 304

23.3 解析数据 307

23.3.1 使用正则表达式 307

23.3.2 使用BeautifulSoup 库 309

23.4 项目实战:爬取搜狐网股票数据 312

23.4.1 爬取并解析数据 312

23.4.2 检测数据是否更新 314

23.4.3 保存数据到数据库 315

23.4.4 爬虫工作计划任务 318

第24 章 项目实战2:数据分析技术——贵州茅台股票数据分析 321

24.1 数据分析过程 321

24.1.1 数据收集 321

24.1.2 数据存储 321

24.1.3 数据清洗 322

24.1.4 数据分析 322

24.1.5 数据可视化 322

24.2 数据分析工具环境搭建和使用 322

24.2.1 安装Jupyter322

24.2.2 使用IPython Shell 323

24.2.3 使用Jupyter Notebook 324

24.3 数据分析与科学计算基础库——NumPy 327

24.3.1 NumPy 库安装 327

24.3.2 NumPy 中的多维数组对象 327

24.3.3 NumPy 数组的数据类型 328

24.3.4 数组的属性 328

24.3.5 数组的轴 329

24.3.6 访问一维数组中的元素330

24.3.7 访问二维数组中的元素330

24.4 数据分析必备库——pandas331

24.4.1 pandas 库安装332

目录17

24.4.2 Series 数据结构 332

24.4.3 DataFrame 数据结构 333

24.5 项目实战:贵州茅台股票数据分析 335

24.5.1 从数据库中读取股票历史数据 335

24.5.2 获得特定时间段股票交易数据 336

24.5.3 查询时间段内*成交量 337

24.5.4 查询时间段内总成交量337

24.5.5 按照成交金额排序 338

第25 章 项目实战3:数据可视化技术——贵州茅台股票数据可视化 339

25.1 使用Matplotlib 绘制图表 339

25.1.1 安装Matplotlib 339

25.1.2 图表基本构成要素 339

25.1.3 绘制折线图 340

25.1.4 绘制柱状图 341

25.1.5 绘制饼状图 342

25.1.6 绘制散点图 343

25.1.7 绘制子图表 344

25.2 项目实战:贵州茅台股票数据可视化346

25.2.1 从数据库读取股票数据346

25.2.2 绘制股票成交量折线图347

25.2.3 绘制股票OHLC 图348

25.2.4 绘制股票K 线图 349

第26 章 项目实战4:计算机视觉技术——网站验证码识别 352

26.1 人工智能 352

26.2 计算机视觉 352

26.2.1 计算机视觉的Python 语言相关库 353

26.2.2 色彩空间 353

26.3 使用OpenCV 库 353

26.3.1 安装OpenCV 库 353

26.3.2 读取和显示图像 353

26.3.3 调整图像大小354

26.3.4 图像旋转 355

26.3.5 绘制几何图形356

26.3.6 图像的灰度化357

26.3.7 图像的二值化与阈值358

26.3.8 人脸检测 360

26.4 项目实战:网站验证码识别361

26.4.1 验证码 361

Python 18 从小白到大牛(第2 版)

26.4.2 验证码识别 361

26.4.3 安装OCR 引擎Tesseract361

26.4.4 安装pytesseract 库361

26.4.5 安装pillow 库362

26.4.6 验证码识别代码实现363

第27 章 项目实战5:Python Web Flask 框架——PetStore 宠物商店项目365

27.1 Web 应用程序概述365

27.1.1 HTTP/HTTPS365

27.1.2 B/S 网络架构 365

27.1.3 Web 前端技术366

27.2 Flask 框架介绍366

27.3 编写Flask 程序 366

27.3.1 安装Flask366

27.3.2 *个Flask 程序 366

27.3.3 路由368

27.4 Jinja2 模板 371

27.4.1 没有使用模板371

27.4.2 使用模板 372

27.4.3 模板中使用表达式 373

27.4.4 模板中使用语句 374

27.4.5 模板中访问静态文件377

27.5 处理HTTP 操作 378

27.5.1 使用request 请求对象 378

27.5.2 使用response 响应对象 381

27.5.3 使用session 对象382

27.6 PetStore 宠物商店项目——需求与设计383

27.6.1 项目概述 383

27.6.2 需求分析 383

27.6.3 原型设计 384

27.6.4 数据库设计 384

27.6.5 架构设计 386

27.6.6 系统设计 387

27.7 PetStore 宠物商店项目——创建数据库388

27.7.1 安装和配置MySQL 数据库 388

27.7.2 编写数据库DDL 脚本 388

27.7.3 插入初始数据到数据库389

27.8 PetStore 宠物商店项目——创建项目 390

27.8.1 创建项目 390

27.8.2 项目包结构 390

目录19

27.8.3 项目配置文件391

27.9 PetStore 宠物商店项目——数据持久层 391

27.9.1 编写DAO 基类 391

27.9.2 用户管理DAO 392

27.9.3 商品管理DAO 393

27.9.4 订单管理DAO 395

27.9.5 订单明细管理DAO 396

27.10 PetStore 宠物商店项目——表示层397

27.10.1 启动模块实现 397

27.10.2 登录页面实现 398

27.10.3 商品列表400

27.10.4 添加商品到购物车 403

27.10.5 查看购物车 404

27.10.6 提交订单407

第28 章 项目实战6:Python 综合技术——QQ 聊天工具开发 410

28.1 系统分析与设计 410

28.1.1 项目概述 410

28.1.2 需求分析 410

28.1.3 原型设计 411

28.1.4 数据库设计 412

28.1.5 网络拓扑图 414

28.1.6 系统设计 414

28.2 任务1:创建服务器端数据库415

28.2.1 迭代1.1:安装和配置MySQL 数据库415

28.2.2 迭代1.2:编写数据库DDL 脚本 415

28.2.3 迭代1.3:插入初始数据到数据库 416

28.3 任务2:创建项目 416

28.3.1 迭代2.1:创建QQ 客户端项目 416

28.3.2 迭代2.2:QQ 客户端项目中添加资源图片417

28.3.3 迭代2.3:QQ 客户端项目中添加包 417

28.3.4 迭代2.4:创建QQ 服务器项目 418

28.3.5 迭代2.5:QQ 服务器项目中添加包 418

28.4 任务3:服务器项目数据持久层 418

28.4.1 迭代3.1:服务器端配置文件 418

28.4.2 迭代3.2:编写base_dao 模块 419

28.4.3 迭代3.3:编写用户管理DAO 类 419

28.5 任务4:QQ 客户端项目UI 实现 421

28.5.1 迭代4.1:客户端配置文件421

28.5.2 迭代4.2:编写my_frame 模块 421

Python 20 从小白到大牛(第2 版)

28.5.3 迭代4.3:登录窗口实现423

28.5.4 迭代4.4:好友列表窗口实现 425

28.5.5 迭代4.5:聊天窗口实现 428

28.6 任务5:用户登录过程实现 430

28.6.1 迭代5.1:QQ 客户端启动 431

28.6.2 迭代5.2:客户端登录过程实现. 432

28.6.3 迭代5.3:QQ 服务器端启动434

28.6.4 迭代5.4:登录过程的服务器端验证435

28.7 任务6:刷新好友列表437

28.7.1 迭代6.1:服务器端刷新好友列表 437

28.7.2 迭代6.2:客户端刷新好友列表. 439

28.8 任务7:聊天过程实现441

28.8.1 迭代7.1:客户端用户1 向服务器发送消息 442

28.8.2 迭代7.2:服务器端接收用户1 消息与转发给用户3 消息 443

28.8.3 迭代7.3:客户端用户3 接收用户1 消息 444

28.9 任务8:用户下线 445

28.9.1 迭代8.1:客户端实现 446

28.9.2 迭代8.2:服务器端实现 447


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Python从小白到大牛(第2版)
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon