《21天学通Python 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:刘凌霞,郝宁波,吴海涛编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121333491
  • 页数:327 页
图书介绍:本书全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的实例将Python语言知识全面、系统、深入地呈现给读者。此外,作者专门为本书录制了大量的配套教学视频,让读者通过分析实例、运行实例尽快熟悉Python编程,在学习中遇到问题时,也可以作为参考。本书共分三篇。第一篇介绍Python语言的特点、安装、语法基础、程序流程控制、面向过程的编程方法、面向对象的编程方法、程序异常的处理;第二篇介绍了Python语言中的包与模块、迭代器、生成器、装饰器、上下文管理器等进阶语法,同时介绍了使用Python标准库中的文件系统处理、图形化界面编程、正则表达式、网络编程、多进(线)程编程、数据库编程。此外,还介绍了运用第三方库的Web网站编程、图片处理;第三篇通过两个案例介绍Python的综合编程技术。

第1篇Python编程基础 1

第1章 编程与Python 1

1.1 什么是编程 1

1.1.1 硬件与软件 1

1.1.2 编程语言 2

1.1.3 编程与调试 3

1.2 选择Python的理由 4

1.2.1 Python是免费的自由软件 4

1.2.2 Python是跨平台的 4

1.2.3 Python功能强大 4

1.2.4 Python清晰优雅 5

1.3 安装Python 5

1.3.1 在Windows下安装Python 6

1.3.2 在Linux下安装Python 7

1.4 选择开发工具 9

1.4.1 Python自带开发工具:IDLE 9

1.4.2 文本编辑器:Emacs 10

1.4.3 Python开发工具:PythonWin 12

1.5 编辑和运行Python程序 15

1.5.1 你好,Python 15

1.5.2 运行程序文件 15

1.5.3 交互式运行Python 16

1.6 小结 17

1.7 本章习题 17

第2章 Python起步 18

2.1 Python语法基础 18

2.1.1 缩进分层 18

2.1.2 代码注释 19

2.1.3 断行 19

2.2 Python输入/输出 20

2.2.1 接收键盘/输入 20

2.2.2 显示处理结果 21

2.3 用Python计算 21

2.3.1 算式与代数式运算 22

2.3.2 惊奇 23

2.4 小结 24

2.5 本章习题 24

第3章 Python数据类型 26

3.1 Python简单数据类型 26

3.1.1 字符串(str) 26

3.1.2 整数(int) 29

3.1.3 浮点数(float) 30

3.1.4 类型转换 30

3.2 字符串进阶 31

3.2.1 原始字符串 31

3.2.2 格式化字符串 32

3.2.3 中文字符串处理 32

3.3 标志符与赋值号 33

3.3.1 标志符 33

3.3.2 赋值号“=” 33

3.4 Python结构数据类型 34

3.4.1 列表(list) 34

3.4.2 元组(tuple) 36

3.4.3 字典(dict) 36

3.5 内置常量与逻辑运算符、比较运算符 38

3.5.1 常用内置常量 38

3.5.2 Python中逻辑运算符 38

3.5.3 Python中比较运算符 39

3.5.4 Python中其他逻辑操作符 39

3.6 序列 40

3.6.1 序列切片 40

3.6.2 序列内置操作 41

3.7 小结 42

3.8 本章习题 42

第4章 控制语句执行流程 44

4.1 用if选择执行语句 44

4.1.1 if基础 44

4.1.2 if语句的嵌套 47

4.2 用for循环执行语句 49

4.2.1 for基础 49

4.2.2 for语句与break语句、continue语句 49

4.2.3 for语句与range()函数 51

4.2.4 for语句与内置迭代函数 52

4.3 用while循环执行语句 53

4.3.1 while基础 53

4.3.2 增量赋值运算符 54

4.4 推导或内涵(list comprehension) 55

4.4.1 推导基础 55

4.4.2 推导进阶 55

4.5 小结 56

4.6 本章习题 56

第5章 自定义功能单元(一) 58

5.1 使用函数 58

5.1.1 声明函数 58

5.1.2 调用函数 59

5.2 深入函数 60

5.2.1 默认值参数 60

5.2.2 参数传递 62

5.2.3 可变数量参数传递 62

5.2.4 拆解序列的函数调用 65

5.2.5 函数调用时参数的传递方法 65

5.3 变量的作用域 67

5.4 使用匿名函数(lambda) 68

5.5 Python常用内建函数 69

5.6 小结 70

5.7 本章习题 70

第6章 自定义功能单元(二) 72

6.1 面向对象编程概述 72

6.1.1 万物皆对象 72

6.1.2 对象优越性 73

6.1.3 类和对象 73

6.2 定义和使用类 73

6.2.1 定义类 73

6.2.2 使用类 74

6.3 类的属性和方法 75

6.3.1 类的方法 75

6.3.2 类的属性 77

6.3.3 类成员方法与静态方法 79

6.4 类的继承 80

6.4.1 类的继承 80

6.4.2 多重继承 81

6.4.3 方法重载 83

6.5 小结 83

6.6 本章习题 83

第7章 错误、异常和程序调试 85

7.1 语法错误 85

7.2 异常的处理 86

7.2.1 异常处理的基本语法 86

7.2.2 Python主要的内置异常及其处理 88

7.3 手工抛出异常 90

7.3.1 用raise手工抛出异常 90

7.3.2 assert语句 91

7.3.3 自定义异常类 92

7.4 用pdb调试程序 93

7.4.1 调试语句块函数 93

7.4.2 调试函数 94

7.5 测试程序 95

7.5.1 用testmod函数测试 95

7.5.2 用testfile函数测试 96

7.6 小结 97

7.7 本章习题 97

第2篇Python编程高阶 99

第8章 复杂程序组织 99

8.1 模块 99

8.1.1 模块概述 99

8.1.2 自己编写模块 100

8.1.3 模块位置 101

8.1.4 _pycache_目录 102

8.1.5 具有独立运行能力的模块 102

8.2 包 103

8.2.1 包概述 103

8.2.2 包详解 104

8.3 Python常用标准库简介 105

8.3.1 数学类模块 105

8.3.2 日期与时间类 106

8.4 小结 106

8.5 本章习题 106

第9章 迭代器、生成器与装饰器 108

9.1 迭代器 108

9.1.1 迭代器概述 108

9.1.2 自定义迭代器 109

9.1.3 内置迭代器工具 109

9.2 生成器 112

9.2.1 生成器创建 112

9.2.2 深入生成器 113

9.2.3 生成器与协程 114

9.3 装饰器 115

9.3.1 装饰器概述 115

9.3.2 装饰函数 115

9.3.3 装饰类 116

9.4 小结 117

9.5 本章习题 118

第10章 Python进阶话题 119

10.1 函数与命名空间 119

10.2 闭包及其应用 120

10.2.1 闭包概述 120

10.2.2 闭包与延迟求值 121

10.2.3 闭包与泛型函数 121

10.3 上下文管理器 122

10.4 用字符串操作对象属性 124

10.5 用字典构造分支程序 125

10.6 重载类的特殊方法 126

10.7 鸭子类型(duck typing)与多态 127

10.8 小结 128

10.9 本章习题 128

第11章 文件与文件系统 130

11.1 文件操作基础 130

11.1.1 open()函数 130

11.1.2 用fileinput操作文件 132

11.2 常用文件和目录操作 133

11.2.1 获得当前路径 133

11.2.2 获得目录中的内容 133

11.2.3 创建目录 134

11.2.4 删除目录 134

11.2.5 判断是否是目录 134

11.2.6 判断是否为文件 134

11.2.7 遍历某目录下的所有文件和目录 135

11.2.8 由文件名批量获取姓名和考号 135

11.2.9 批量文件重命名 136

11.3 编译为可执行文件 137

11.3.1 用py2exe生成可执行程序 137

11.3.2 用cx_freeze生成可执行文件 138

11.4 小结 140

11.5 本章习题 140

第12章 基于tkinter的GUI编程 141

12.1 GUI概述 141

12.1.1 GUI是什么 141

12.1.2 Python编写GUI程序库 141

12.2 tkinter图形化库简介 142

12.2.1 创建GUI程序第一步 142

12.2.2 创建GUI程序第二步 143

12.3 tkinter组件 144

12.3.1 组件分类 144

12.3.2 布局组件 144

12.4 常用tkinter组件 145

12.4.1 按钮 145

12.4.2 文本框 147

12.4.3 标签 148

12.4.4 菜单 149

12.4.5 单选框和复选框 151

12.4.6 绘制图形 153

12.5 响应操作事件 155

12.5.1 事件基础 155

12.5.2 响应事件 157

12.6 对话框 159

12.6.1 标准对话框 159

12.6.2 自定义对话框 165

12.7 小结 166

12.8 本章习题 166

第13章 正则表达式 168

13.1 正则表达式基础 168

13.1.1 正则表达式概述 168

13.1.2 正则表达式基本元字符 168

13.1.3 常用正则表达式 170

13.2 re模块 171

13.2.1 正则匹配搜索函数 171

13.2.2 sub()与subn()函数 172

13.2.3 split()函数 173

13.2.4 正则表达式对象 173

13.3 分组匹配与匹配对象使用 177

13.3.1 分组基础 177

13.3.2 分组扩展 177

13.3.3 匹配对象与组的使用 178

13.3.4 匹配对象与索引使用 179

13.4 正则表达式应用示例 180

13.5 小结 182

13.6 本章习题 182

第14章 网络编程 183

14.1 网络编程基础 183

14.1.1 什么是网络 183

14.1.2 网络协议 183

14.1.3 地址与端口 184

14.2 套接字的使用 185

14.2.1 用socket建立服务器端程序 185

14.2.2 用socket建立客户端程序 186

14.2.3 用socket建立基于UDP协议的服务器与客户端程序 188

14.2.4 用socketserver模块建立服务器 189

14.3 urllib与http包使用 190

14.3.1 urllib和http包简介 190

14.3.2 用urllib和http包访问网站 193

14.4 用poplib与smtplib库收发邮件 194

14.4.1 用poplib检查邮件 194

14.4.2 用smtplib发送邮件 196

14.5 用ftplib访问FTP服务 198

14.5.1 ftplib模块简介 198

14.5.2 使用Python访问FTP 200

14.6 小结 202

14.7 本章习题 202

第15章 线程和进程 203

15.1 线程 203

15.1.1 用threading.Thread直接在线程中运行函数 203

15.1.2 通过继承threading.Thread类来创建线程 204

15.1.3 线程类Thread使用 204

15.2 进程 208

15.2.1 进程基础 208

15.2.2 用Popen类创建进程 209

15.3 小结 211

15.4 本章习题 211

第16章 数据库编程 212

16.1 Python数据库应用程序接口 212

16.1.1 数据库应用程序接口概述 212

16.1.2 数据库游标的使用 213

16.2 Python操作SQLite3数据库 213

16.2.1 SQLite3数据库简介 214

16.2.2 SQLite3数据库操作实例 214

16.3 Python操作MariaDB数据库 216

16.3.1 MariaDB数据库简介 217

16.3.2 建立MariaDB数据库操作环境 217

16.3.3 MariaDB数据库操作实例 219

16.4 Python操作MongoDB数据库 221

16.4.1 MongoDB数据库简介 221

16.4.2 建立MongoDB数据库操作环境 221

16.4.3 MongoDB数据库基础 222

16.4.4 MongoDB数据库操作实例 225

16.4.5 用对象关系映射(ORM)工具操作MongoDB数据库 227

16.5 小结 230

16.6 本章习题 230

第17章 Web网站编程 231

17.1 Web网站编程概述 231

17.2 Flask Web框架及其应用 232

17.2.1 Flask Web框架简介 232

17.2.2 Flask Web框架初识 232

17.2.3 URL装饰器与URL参数传递 234

17.2.4 GET与POST请求的参数传递 236

17.2.5 使用cookie与session跟踪客户 238

17.2.6 使用静态文件资源与页面文件 241

17.2.7 接收上传文件 242

17.2.8 在Flask框架中使用数据库 243

17.3 Tornado Web框架及其应用 246

17.3.1 Tornado框架简介 246

17.3.2 Tornado框架初识 246

17.3.3 请求参数的获取 248

17.3.4 用cookie与安全cookie跟踪客户 250

17.3.5 URL转向与静态文件资源 251

17.3.6 Tornado Web框架应用举例 253

17.4 小结 258

17.5 本章习题 258

第18章 数据结构基础 260

18.1 表、栈和队列 260

18.1.1 用列表来创建表 260

18.1.2 自定义栈数据结构 261

18.1.3 实现队列功能 263

18.2 树和图 264

18.2.1 用列表构建树 264

18.2.2 实现二叉树类与遍历二叉树 265

18.2.3 用字典构建与搜索图 268

18.3 查找与排序 270

18.3.1 实现二分查找 270

18.3.2 用二叉树排序 272

18.4 小结 274

18.5 本章习题 274

第19章 用Pillow库处理图片 275

19.1 第三方Pillow库概述 275

19.1.1 安装第三方Pillow库 275

19.1.2 Pillow库简介 275

19.1.3 Pillow库处理图像基础 276

19.1.4 Image模块中函数的使用 277

19.1.5 Image模块中Image类的使用 280

19.1.6 使用ImageChops模块进行图片合成 285

19.1.7 使用ImageEnhance模块增强图像效果 288

19.1.8 使用ImageFilter模块的滤镜 289

19.1.9 使用ImageDraw模块画图 290

19.2 使用Pillow库处理图片举例 291

19.2.1 图片格式转换 291

19.2.2 批量生成缩略图 293

19.2.3 为图片添加Logo 296

19.3 小结 300

19.4 本章习题 301

第3篇Python编程实战 302

第20章 案例1 做一个Windows上的360工具 302

20.1 案例背景 302

20.2 从创建图形化界面开始 303

20.2.1 创建基本图形化工作界面 303

20.2.2 响应菜单事件 305

20.3 清理垃圾文件 307

20.3.1 迭代目录 307

20.3.2 扫描垃圾文件 308

20.3.3 多线程加速 310

20.3.4 扫描所有磁盘 311

20.3.5 删除垃圾文件 313

20.4 搜索文件 315

20.4.1 搜索超大文件 315

20.4.2 按名称搜索文件 316

20.5 小结 317

第21章 案例2 Python搞定大数据 319

21.1 案例背景 319

21.1.1 大数据处理方式概述 319

21.1.2 处理日志文件 320

21.1.3 要实现的案例目标 321

21.2 分割日志文件 321

21.3 用Map函数处理小文件 323

21.4 用Reduce函数归集数据 325

21.5 小结 326