第1 篇 Python 编程基础

第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 编程高阶

第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 编程实战

第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

21天学通python-21天学通Python(第2版)相关推荐

  1. 《21天学通HTML+CSS+JavaScript Web开发(第7版)》——1.4 统一资源定位符

    本节书摘来自异步社区<21天学通HTML+CSS+JavaScript Web开发(第7版)>一书中的第1章,第1.4节,作者:[美]Laura Lemay(劳拉·莱梅) , Rafe C ...

  2. python软件安装-学python安装的软件总结

    学python安装什么软件? Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以 ...

  3. 中小学生Python课应该学什么

    祝所有女士节日快乐! 注意:文末有福利,送30本Python图书. =============== 尽管仍有很多人持保留意见,但是不得不承认,Python学习者和使用者日益低龄化,这个大趋势并不会因为 ...

  4. Python可以这样学(第八季:课堂教学管理系统设计与开发实战)-董付国-专题视频课程...

    Python可以这样学(第八季:课堂教学管理系统设计与开发实战)-1398人已学习 课程介绍         董付国老师系列教材<Python可以这样学>(ISBN:97873024564 ...

  5. Python可以这样学(第七季:pillow扩展库图像编程)-董付国-专题视频课程

    Python可以这样学(第七季:pillow扩展库图像编程)-1738人已学习 课程介绍         董付国老师系列教材<Python程序设计(第2版)>(ISBN:978730243 ...

  6. Python可以这样学(第五季:Socket编程)-董付国-专题视频课程

    Python可以这样学(第五季:Socket编程)-1585人已学习 课程介绍         董付国老师系列教材<Python程序设计(第2版)>(ISBN:9787302436515) ...

  7. Python可以这样学(第四季:数据分析与科学计算可视化)-董付国-专题视频课程...

    Python可以这样学(第四季:数据分析与科学计算可视化)-7534人已学习 课程介绍         董付国老师系列教材<Python程序设计(第2版)>(ISBN:9787302436 ...

  8. Python可以这样学(第一季:Python内功修炼)-董付国-专题视频课程

    Python可以这样学(第一季:Python内功修炼)-18287人已学习 课程介绍         董付国系列教材<Python程序设计基础>.<Python程序设计(第2版)&g ...

  9. python学到什么程度可以找到工作-Python学到什么程度可以面试工作?

    0710更新: 不多说,上干货!!!最近得到了一张比较全面的Python图谱,直接分享给你们!!!(我看过,知识点还是很全面的,基础知识.数据分析.爬虫实战.后台开发实战以及人工智能实战项目,都包含了 ...

  10. python解数学方程_用Python如何解数学方程

    用Python如何解数学方程 我们先从简单的来 例题1: 这是北师大版小学六年级上册课本95页的一道解方程练习题: 大家可以先口算一下,这道题里面的x的值为200 接下来我们用python来实现,代码 ...

最新文章

  1. Linux用户态和内核态
  2. python 列表去重(数组)的几种方法
  3. 和平精英清明节服务器维修时间,和平精英体验服关服维护要多久 和平精英体验服什么时候开放...
  4. “疫”外爆发:没那么简单的视频会议
  5. 生产环境中,如何防止服务器秘钥被盗取?
  6. 自动化环境部署工具的编写
  7. 进军SharePoint,资料先行....
  8. Cisco 2960交换机配置
  9. Java添加过期注解
  10. linkin大话设计模式--抽象工厂
  11. 字符串解码DecodeString
  12. 冒泡排序满分代码(C语言),附源代码,可直接运行
  13. 【AI视野·今日NLP 自然语言处理论文速览 第十七期】Thu, 1 Jul 2021
  14. 使用halcon实现3维点云物体与模型的匹配并显示差异
  15. 微信分享网页 图标不显示
  16. 番茄花园版xp 和 东海公司xp 鲜为人知的安全漏洞
  17. CV赛事|“华为云杯”2020深圳开放数据应用创新大赛•生活垃圾图片分类
  18. csgo如何保存自己的cfg_[CS:GO]如何导出cfg文件 最新方法[已解决]
  19. 微信认证300元发票获取
  20. AtCoder Regular Contest 105 C - Camels and Bridge

热门文章

  1. 初探队与广度优先搜索
  2. [Latex排版]之visio图转成eps的方法
  3. C++库介绍-标准库、类库
  4. App Start Up Step
  5. Oracle常见五个服务的作用
  6. 20155327结对编程练习
  7. 管理结果集和分析结果集
  8. Bailian1835 POJ1835 宇航员【模拟】
  9. UVA1200 LA2972 POJ2295 ZOJ2492 A DP Problem【输入】
  10. Bailian3670 计算鞍点(POJ NOI0108-05)【矩阵】