《Python从小白到大牛》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:关东升著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302509332
  • 页数:426 页
图书介绍:本书是系统论述Python编程语言立体化教程(含纸质图书、电子书、教学课件、源代码与视频教程)。全书共分为四篇:第一篇Python基础(第1章~第8章),第二篇Python进阶(第9章~第15章),第三篇Python实用库(第16章~第21章),第四篇Python项目实战(第22章~第26章)。

第一篇 Python基础 2

第1章 开篇综述 2

1.1 Python语言历史 3

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

1.3 Python语言特点 4

1.4 Python语言应用前景 5

1.5 如何获得帮助 6

第2章 搭建开发环境 7

2.1 搭建Python环境 7

2.2 PyCharm开发工具 9

2.2.1 下载和安装 10

2.2.2 设置Python解释器 11

2.3 Eclipse+PyDev开发工具 12

2.3.1 Eclipse下载和安装 13

2.3.2 安装PyDev插件 15

2.3.3 设置Python解释器 16

2.3.4 设置UTF-8编码 17

2.4 Visual Studio Code开发工具 18

2.5 文本编辑工具 21

本章小结 21

第3章 第一个Python程序 22

3.1 使用Python Shell实现 22

3.2 使用PyCharm实现 24

3.2.1 创建项目 24

3.2.2 创建Python代码文件 25

3.2.3 编写代码 26

3.2.4 运行程序 26

3.3 使用Eclipse+PyDev插件实现 27

3.3.1 创建项目 27

3.3.2 创建Python代码文件 27

3.3.3 运行程序 28

3.4 使用Visual Studio Code实现 29

3.4.1 创建Python代码文件 29

3.4.2 运行程序 30

3.5 文本编辑工具+Python解释器实现 31

3.5.1 编写代码 31

3.5.2 运行程序 32

3.6 代码解释 32

本章小结 33

第4章 Python语法基础 34

4.1 标识符和关键字 34

4.1.1 标识符 34

4.1.2 关键字 34

4.2 变量和常量 35

4.2.1 变量 35

4.2.2 常量 35

4.3 注释 36

4.4 语句 36

4.5 模块 37

4.6 包 39

4.6.1 创建包 39

4.6.2 导入包 39

本章小结 40

第5章 Python编码规范 41

5.1 命名规范 41

5.2 注释规范 42

5.2.1 文件注释 42

5.2.2 文档注释 42

5.2.3 代码注释 44

5.2.4 使用TODO注释 45

5.3 导入规范 46

5.4 代码排版 47

5.4.1 空行 47

5.4.2 空格 48

5.4.3 缩进 49

5.4.4 断行 49

本章小结 50

第6章 数据类型 51

6.1 数字类型 51

6.1.1 整数类型 51

6.1.2 浮点类型 52

6.1.3 复数类型 52

6.1.4 布尔类型 52

6.2 数字类型相互转换 53

6.2.1 隐式类型转换 53

6.2.2 显式类型转换 54

6.3 字符串类型 54

6.3.1 字符串表示方式 54

6.3.2 字符串格式化 57

6.3.3 字符串查找 58

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

本章小结 61

第7章 运算符 62

7.1 算术运算符 62

7.1.1 一元运算符 62

7.1.2 二元运算符 62

7.2 关系运算符 64

7.3 逻辑运算符 65

7.4 位运算符 66

7.5 赋值运算符 68

7.6 其他运算符 69

7.6.1 同一性测试运算符 69

7.6.2 成员测试运算符 71

7.7 运算符优先级 71

本章小结 72

第8章 控制语句 73

8.1 分支语句 73

8.1.1 if结构 73

8.1.2 if-else结构 74

8.1.3 elif结构 75

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

8.2 循环语句 76

8.2.1 while语句 76

8.2.2 for语句 77

8.3 跳转语句 78

8.3.1 break语句 78

8.3.2 continue语句 79

8.3.3 while和for中的else语句 79

8.4 使用范围 80

本章小结 81

第二篇 Python进阶 84

第9章 数据结构 84

9.1 元组 84

9.1.1 序列 84

9.1.2 创建元组 88

9.1.3 访问元组 88

9.1.4 遍历元组 88

9.2 列表 89

9.2.1 列表创建 89

9.2.2 追加元素 90

9.2.3 插入元素 91

9.2.4 替换元素 91

9.2.5 删除元素 91

9.2.6 其他常用方法 92

9.2.7 列表推导式 93

9.3 集合 94

9.3.1 创建可变集合 94

9.3.2 修改可变集合 95

9.3.3 遍历集合 95

9.3.4 不可变集合 96

9.3.5 集合推导式 97

9.4 字典 97

9.4.1 创建字典 98

9.4.2 修改字典 99

9.4.3 访问字典 100

9.4.4 遍历字典 101

9.4.5 字典推导式 101

本章小结 102

第10章 函数式编程 103

10.1 定义函数 103

10.2 函数参数 104

10.2.1 使用关键字参数调用函数 104

10.2.2 参数默认值 104

10.2.3 可变参数 105

10.3 函数返回值 106

10.3.1 无返回值函数 106

10.3.2 多返回值函数 107

10.4 函数变量作用域 108

10.5 生成器 109

10.6 嵌套函数 111

10.7 函数式编程基础 112

10.7.1 函数类型 112

10.7.2 Lambda表达式 113

10.7.3 三大基础函数 114

本章小结 115

第11章 面向对象编程 116

11.1 面向对象概述 116

11.2 面向对象三个基本特性 116

11.2.1 封装性 116

11.2.2 继承性 116

11.2.3 多态性 117

11.3 类和对象 117

11.3.1 定义类 117

11.3.2 创建和使用对象 117

11.3.3 实例变量 118

11.3.4 类变量 119

11.3.5 构造方法 120

11.3.6 实例方法 121

11.3.7 类方法 122

11.3.8 静态方法 123

11.4 封装性 123

11.4.1 私有变量 123

11.4.2 私有方法 124

11.4.3 定义属性 125

11.5 继承性 127

11.5.1 继承概念 127

11.5.2 重写方法 128

11.5.3 多继承 128

11.6 多态性 129

11.6.1 多态概念 130

11.6.2 类型检查 131

11.6.3 鸭子类型 131

11.7 Python根类——object 132

11.7.1 _str_()方法 133

11.7.2 对象比较方法 133

11.8 枚举类 134

11.8.1 定义枚举类 134

11.8.2 限制枚举类 135

11.8.3 使用枚举类 135

本章小结 136

第12章 异常处理 137

12.1 异常问题举例 137

12.2 异常类继承层次 138

12.3 常见异常 139

12.3.1 AttributeError异常 139

12.3.2 OSError异常 140

12.3.3 IndexError异常 140

12.3.4 KeyError异常 141

12.3.5 NameError异常 141

12.3.6 TypeError异常 141

12.3.7 ValueError异常 142

12.4 捕获异常 142

12.4.1 try-except语句 142

12.4.2 多except代码块 143

12.4.3 try-except语句嵌套 145

12.4.4 多重异常捕获 146

12.5 异常堆栈跟踪 147

12.6 释放资源 148

12.6.1 finally代码块 148

12.6.2 else代码块 149

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

12.7 自定义异常类 151

12.8 显式抛出异常 151

本章小结 152

第13章 常用模块 153

13.1 math模块 153

13.1.1 舍入函数 153

13.1.2 幂和对数函数 154

13.1.3 三角函数 154

13.2 random模块 155

13.3 datetime模块 156

13.3.1 datetime、date和time类 157

13.3.2 日期时间计算 160

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

13.3.4 时区 162

13.4 logging日志模块 163

13.4.1 日志级别 163

13.4.2 日志信息格式化 165

13.4.3 日志重定位 166

13.4.4 使用配置文件 166

本章小结 168

第14章 正则表达式 169

14.1 正则表达式字符串 169

14.1.1 元字符 169

14.1.2 字符转义 170

14.1.3 开始与结束字符 170

14.2 字符类 171

14.2.1 定义字符类 171

14.2.2 字符类取反 172

14.2.3 区间 172

14.2.4 预定义字符类 173

14.3 量词 174

14.3.1 量词的使用 174

14.3.2 贪婪量词和懒惰量词 175

14.4 分组 176

14.4.1 分组的使用 176

14.4.2 分组命名 177

14.4.3 反向引用分组 178

14.4.4 非捕获分组 179

14.5 re模块 180

14.5.1 search()和match()函数 180

14.5.2 findall()和finditer()函数 181

14.5.3 字符串分割 182

14.5.4 字符串替换 182

14.6 编译正则表达式 183

14.6.1 已编译正则表达式对象 184

14.6.2 编译标志 185

本章小结 188

第15章 文件操作与管理 189

15.1 文件操作 189

15.1.1 打开文件 189

15.1.2 关闭文件 191

15.1.3 文本文件读写 192

15.1.4 二进制文件读写 193

15.2 os模块 193

15.3 os.path模块 194

本章小结 196

第三篇 Python高级实用库与框架 198

第16章 数据交换格式 198

16.1 CSV数据交换格式 199

16.1.1 reader()函数 199

16.1.2 writer()函数 200

16.2 XML数据交换格式 201

16.2.1 XML文档结构 201

16.2.2 解析XML文档 203

16.2.3 XPath 205

16.3 JSON数据交换格式 207

16.3.1 JSON文档结构 207

16.3.2 JSON数据编码 208

16.3.3 JSON数据解码 210

16.4 配置文件 212

16.4.1 配置文件结构 212

16.4.2 读取配置文件 212

16.4.3 写入配置文件 214

本章小结 214

第17章 数据库编程 215

17.1 数据持久化技术概述 215

17.2 MySQL数据库管理系统 215

17.2.1 数据库安装与配置 216

17.2.2 连接MySQL服务器 220

17.2.3 常见的管理命令 221

17.3 Python DB-API 224

17.3.1 建立数据连接 225

17.3.2 创建游标 226

17.4 案例:MySQL数据库CRUD操作 227

17.4.1 安装PyMySQL模块 227

17.4.2 数据库编程的一般过程 228

17.4.3 数据查询操作 228

17.4.4 数据修改操作 231

17.5 NoSQL数据存储 234

17.5.1 dbm数据库的打开和关闭 234

17.5.2 dbm数据存储 234

本章小结 235

第18章 网络编程 236

18.1 网络基础 236

18.1.1 网络结构 236

18.1.2 TCP/IP协议 237

18.1.3 IP地址 237

18.1.4 端口 238

18.2 TCP Socket低层次网络编程 238

18.2.1 TCP Socket通信概述 238

18.2.2 TCP Socket通信过程 238

18.2.3 TCP Socket编程API 239

18.2.4 案例:简单聊天工具 240

18.2.5 案例:文件上传工具 242

18.3 UDP Socket低层次网络编程 243

18.3.1 UDP Socket编程API 243

18.3.2 案例:简单聊天工具 244

18.3.3 案例:文件上传工具 245

18.4 访问互联网资源 247

18.4.1 URL概念 247

18.4.2 HTTP/HTTPS协议 247

18.4.3 使用urllib库 248

18.4.4 发送GET请求 248

18.4.5 发送POST请求 249

18.4.6 实例:Downloader 250

本章小结 250

第19章 wxPython图形用户界面编程 251

19.1 Python图形用户界面开发工具包 251

19.2 wxPython安装 251

19.3 wxPython基础 252

19.3.1 wxPython类层次结构 252

19.3.2 第一个wxPython程序 253

19.3.3 wxPython界面构建层次结构 256

19.4 事件处理 257

19.4.1 一对一事件处理 257

19.4.2 一对多事件处理 258

19.4.3 示例:鼠标事件处理 259

19.5 布局管理 260

19.5.1 Box布局器 261

19.5.2 StaticBox布局 264

19.5.3 Grid布局 265

19.5.4 FlexGrid布局 266

19.6 wxPython控件 268

19.6.1 静态文本和按钮 268

19.6.2 文本输入控件 269

19.6.3 复选框和单选按钮 270

19.6.4 下拉列表 272

19.6.5 列表 274

19.6.6 静态图片控件 275

19.7 高级窗口 277

19.7.1 分隔窗口 277

19.7.2 使用树 278

19.7.3 使用网格 281

19.8 使用菜单 284

19.9 使用工具栏 286

本章小结 288

第20章 Python多线程编程 289

20.1 基础知识 289

20.1.1 进程 289

20.1.2 线程 290

20.2 threading模块 290

20.3 创建线程 291

20.3.1 自定义函数作为线程体 291

20.3.2 继承Thread线程类实现线程体 293

20.4 线程管理 294

20.4.1 等待线程结束 294

20.4.2 线程停止 296

20.5 线程安全 297

20.5.1 临界资源问题 297

20.5.2 多线程同步 299

20.6 线程间通信 301

20.6.1 使用Condition实现线程间通信 301

20.6.2 使用Event实现线程间通信 305

本章小结 306

第四篇 项目实战 308

第21章 项目实战1:网络爬虫与爬取股票数据 308

21.1 网络爬虫技术概述 308

21.1.1 网络通信技术 308

21.1.2 多线程技术 308

21.1.3 数据交换技术 308

21.1.4 Web前端技术 309

21.1.5 数据分析技术 310

21.1.6 数据存储技术 311

21.2 爬取数据 311

21.2.1 网页中静态和动态数据 311

21.2.2 使用urllib爬取数据 312

21.2.3 使用Selenium爬取数据 316

21.3 分析数据 319

21.3.1 使用正则表达式 319

21.3.2 使用BeautifulSoup库 321

21.4 项目实战:爬取纳斯达克股票数据 323

21.4.1 爬取数据 323

21.4.2 检测数据是否更新 323

21.4.3 分析数据 326

21.4.4 保存数据到数据库 327

21.4.5 爬虫工作计划任务 330

第22章 项目实战2:数据可视化与股票数据分析 334

22.1 使用Matplotlib绘制图表 334

22.1.1 安装Matplotlib 334

22.1.2 图表基本构成要素 335

22.1.3 绘制折线图 336

22.1.4 绘制柱状图 337

22.1.5 绘制饼状图 338

22.1.6 绘制散点图 339

22.1.7 绘制子图表 340

22.2 项目实战:纳斯达克股票数据分析 343

22.2.1 从数据库提取股票数据 343

22.2.2 绘制股票成交量折线图 344

22.2.3 绘制股票OHLC柱状图 345

22.2.4 绘制股票K线图 348

第23章 项目实战3:PetStore宠物商店项目 352

23.1 系统分析与设计 352

23.1.1 项目概述 352

23.1.2 需求分析 353

23.1.3 原型设计 353

23.1.4 数据库设计 355

23.1.5 架构设计 357

23.1.6 系统设计 357

23.2 任务1:创建数据库 359

23.2.1 迭代1.1:安装和配置MySQL数据库 359

23.2.2 迭代1.2:编写数据库DDL脚本 359

23.2.3 迭代1.3:插入初始数据到数据库 360

23.3 任务2:初始化项目 360

23.3.1 迭代2.1:添加资源图片 361

23.3.2 迭代2.2:添加包 361

23.4 任务3:编写数据持久层代码 361

23.4.1 迭代3.1:数据库配置文件 361

23.4.2 迭代3.2:编写DAO基类 361

23.4.3 迭代3.3:用户管理DAO 362

23.4.4 迭代3.4:商品管理DAO 363

23.4.5 迭代3.5:订单管理DAO 366

23.4.6 迭代3.6:订单明细管理DAO 367

23.5 任务4:编写表示层代码 368

23.5.1 迭代4.1:编写启动模块 368

23.5.2 迭代4.2:编写自定义窗口类——MyFrame 368

23.5.3 迭代4.3:用户登录窗口 369

23.5.4 迭代4.4:商品列表窗口 372

23.5.5 迭代4.5:商品购物车窗口 379

23.6 任务5:发布可执行文件 386

23.6.1 迭代5.1:处理TODO任务 386

23.6.2 迭代5.2:发布为可执行文件 386

第24章 项目实战4:开发Python版QQ2006聊天工具 390

24.1 系统分析与设计 390

24.1.1 项目概述 390

24.1.2 需求分析 390

24.1.3 原型设计 392

24.1.4 数据库设计 393

24.1.5 网络拓扑图 394

24.1.6 系统设计 395

24.2 任务1:创建服务器端数据库 395

24.2.1 迭代1.1:安装和配置MySQL数据库 395

24.2.2 迭代1.2:编写数据库DDL脚本 395

24.2.3 迭代1.3:插入初始数据到数据库 396

24.3 任务2:初始化项目 397

24.3.1 迭代2.1:添加资源图片 397

24.3.2 迭代2.2:添加包 397

24.4 任务3:编写服务器端数据持久层 397

24.4.1 迭代3.1:数据库配置文件 397

24.4.2 迭代3.2:编写base dao模块 397

24.4.3 迭代3.3:编写用户管理DAO类 398

24.5 任务4:客户端UI实现 400

24.5.1 迭代4.1:编写my_frame模块 400

24.5.2 迭代4.2:登录窗口实现 401

24.5.3 迭代4.3:好友列表窗口实现 404

24.5.4 迭代4.4:聊天窗口实现 407

24.6 任务5:用户登录过程实现 409

24.6.1 迭代5.1:客户端启动 409

24.6.2 迭代5.2:客户端登录编程 410

24.6.3 迭代5.3:服务器端启动 412

24.6.4 迭代5.4:服务器端验证编程 413

24.7 任务6:刷新好友列表 415

24.7.1 迭代6.1:刷新好友列表服务器端编程 415

24.7.2 迭代6.2:刷新好友列表客户端编程 416

24.8 任务7:聊天过程实现 419

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

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

24.8.3 迭代7.3:客户端用户3接收用户1消息 422

24.9 任务8:用户下线 423

24.9.1 迭代8.1:客户端编程 424

24.9.2 迭代8.2:服务器端编程 425