Python从小白到大牛

作者:关东升

出版:清华大学出版社

年代:2018 更多图书信息

电子纸书:¥56.07 定价: ¥89 纸质书最低¥66.5起,点此购买

图书简介

本书是一部系统论述Python编程语言、OOP编程思想以及函数式编程思想的立体化教程(含图书、答疑服务、教学课件、源代码及视频教程)。全书共分为四篇:第一篇Python基础(第1章~第8章),第二篇Python进阶(第9章~第15章),第三篇Python高级实用库与框架(第16章~第20章),第四篇项目实战(第21章~第24章)。主要内容包括开篇综述、搭建开发环境、第一个Python程序、Python语法基础、Python编码规范、数据类型、运算符、控制语句、数据结构、函数式编程、面向对象编程、异常处理、常用模块、正则表达式、文件操作与管理、数据交换格式、数据库编程、网络编程、wxPython图形用户界面编程、Python多线程编程、项目实战1网络爬虫与爬取股票数据、项目实战2数据可视化与股票数据分析、项目实战3 PetStore宠物商店项目、项目实战4开发Python版QQ2006聊天工具。
为便于读者高效学习,快速掌握Python编程方法,本书作者精心制作了完整的教学课件、完整的源代码与丰富的配套视频教程,并提供在线答疑服务。

(展开)

目录

推荐序 .1
前言 .3
本书配套资源 .5
本书学习路线图 7

第一篇 Python基础
第 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进阶
第 9章数据结构. 84

9.1 元组 . 84

9.1.1 序列 84

9.1.2 创建元组. 87

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高级实用库与框架
第 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
XPath 205

16.2.3
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
Python DB-API. 224

17.3
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


第四篇项目实战
第 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
(展开)

书页展示

更多图书信息
数据来源于网络,如有问题,请反馈至此邮箱:service@bookask.com

作者:关东升
出版:清华大学出版社

ISBN:9787302509332

出版日期:2018-11-01

清华大学出版社

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。作为来自一流大学的出版单位,清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。目前,清华版教材已在全国一百多所院校得到广泛使用。高品质、多层次的计算机图书是清华大学出版社的一大品牌支柱。20世纪80年代末,在席卷全球的信息化浪潮中,清华大学出版社快速切入计算机图书市场,逐渐成为并一直保持这一市场的领先地位,为发展中国计算机教育做出了巨大贡献。

(展开)

使用移动设备
扫描二维码下载客户端

注:目前仅提供安卓客户端下载

Copyright ©2020  BookAsk 书问  |  京ICP证160134号   |  

京公网安备 11010802026432号

  |  出版物经营许可证新出发京零字第海150168号   |  营业执照:91110108318038279C   |  网站地图   |  关于我们   |  合作伙伴   |  商务合作   |  友情链接