Python程序设计案例课堂

第Ⅰ篇 基础知识

1 揭开Python神秘面纱

1.1 什么是Python

1.2 Python的优点和特性

1.2.1 Python的优点

1.2.2 Python的特点

1.3 搭建Python 3的编程环境

1.4 运行Python的3种方式

1.5 享受安装成果——编写第一个Python程序

1.6 Python是怎样运行的

1.7 大神解惑

1.8 跟我练练手

2 初识庐山真面目——基础语法

2.1 标识符和保留字

2.2 变量

2.3 程序结构

2.4 数据类型

2.4.1 Number(数字)

2.4.2 String(字符串)

2.4.3 Sets(集合)

2.4.4 List(列表)

2.4.5 Tuple(元组)

2.4.6 Dictionary(字典)

2.5 运算符和优先级

2.5.1 算术运算符

2.5.2 比较运算符

2.5.3 赋值运算符

2.5.4 逻辑运算符

2.5.5 位运算符

2.5.6 身份运算符

2.5.7 成员运算符

2.5.8 运算符的优先级

2.6 大神解惑

2.7 跟我练练手

3 不可不知的数据结构——列表、元组和字典

3.1 列表的基本操作

3.1.1 列表对象的特性

3.1.2 列表包容

3.1.3 列表的操作符

3.1.4 列表的函数和方法

3.2 元组的基本操作

3.2.1 元组对象的特性

3.2.2 元组的内置函数

3.3 字典的基本操作

3.3.1 字典对象的特性

3.3.2 字典的内置函数和方法

3.4 大神解惑

3.5 跟我练练手

4 一连串的字符——字符串操作

4.1 访问字符串中的值

4.2 字符串的更新

4.3 转义字符

4.4 字符串运算符

4.5 字符串格式化

4.6 字符串使用的方法

4.7 大神解惑

4.8 跟我练练手

5 程序的执行方向——流程控制和函数

5.1 基本处理流程

5.2 赋值语句

5.3 条件判断语句

5.3.1 if语句

5.3.2 if嵌套

5.4 循环控制语句

5.4.1 while语句

5.4.2 for语句

5.4.3 continue语句和break语句

5.4.4 pass语句

5.4.5 妙用range()函数和len()函数

5.5 内置函数

5.6 用户自定义函数

5.6.1 定义函数

5.6.2 函数的参数传递

5.6.3 return语句

5.6.4 变量作用域

5.6.5 函数的内置属性和命名空间

5.7 输入和输出函数

5.8 大神解惑

5.9 跟我练练手

第Ⅱ篇 核心技术

6 主流软件开发方法——对象与类

6.1 理解面向对象程序设计

6.1.1 什么是对象

6.1.2 面向对象的特征

6.1.3 什么是类

6.2 类的定义

6.3 类的构造方法和内置属性

6.4 类实例

6.4.1 创建类实例

6.4.2 类实例的内置属性

6.5 类的内置方法

6.6 重载运算符

6.7 类的继承

6.8 类的多态

6.9 类的封装

6.10 元类

6.11 垃圾回收

6.12 大神解惑

6.13 跟我练练手

7 错误终结者——程序调试和异常处理

7.1 新手常见错误和异常

7.2 异常是什么

7.3 内置异常

7.4 使用try…except语句处理异常

7.5 异常类的实例和清除异常

7.5.1 异常类的实例

7.5.2 清除异常

7.6 内置异常的协助模块

7.6.1 sys模块

7.6.2 traceback对象

7.7 抛出异常

7.7.1 raise语句

7.7.2 结束解释器的运行

7.7.3 离开嵌套循环

7.8 用户定义异常类

7.9 程序调试

7.9.1 使用assert语句

7.9.2 使用__debug__内置变量

7.10 错误代码

7.11 大神解惑

7.12 跟我练练手

8 Python内部的秘密——模块与类库

8.1 认识模块和类库

8.1.1 模块是什么

8.1.2 类库是什么

8.2 模块和类库的基本操作

8.3 自定义模块

8.4 运行期服务模块

8.5 字符串处理模块

8.6 附属服务

8.7 一般操作系统服务

8.8 其他模块组

8.9 大神解惑

8.10 跟我练练手

9 Python的强大功能——迭代器和操作文件

9.1 迭代器

9.2 生成器

9.3 打开文件

9.4 读取文件

9.4.1 读取文件read()方法

9.4.2 逐行读取readline()方法

9.4.3 返回文件各行内容的列表readlines()方法

9.4.4 返回文件的当前位置tell()方法

9.4.5 截断文件truncate()方法

9.4.6 设置文件当前位置seek()方法

9.5 写入文件

9.5.1 将字符串写入文件

9.5.2 写入多行writelines()

9.5.3 修改文件内容

9.5.4 附加到文件

9.6 关闭和刷新文件

9.6.1 关闭文件

9.6.2 刷新文件

9.7 大神解惑

9.8 跟我练练手

10 图形用户界面

10.1 常用的Python GUI

10.2 使用tkinter创建GUI程序

10.3 认识tkinter的控件

10.4 几何位置的设置

10.4.1 pack()方法

10.4.2 grid()方法

10.4.3 place()方法

10.5 tkinter的事件

10.5.1 事件的属性

10.5.2 事件绑定方法

10.5.3 鼠标事件

10.5.4 键盘事件

10.5.5 系统协议

10.6 Button控件

10.7 Canvas控件

10.8 Checkbutton控件

10.9 Entry控件

10.10 Label控件

10.11 Listbox控件

10.12 Menu控件

10.13 Message控件

10.14 Radiobutton控件

10.15 Scale控件

10.16 Scrollbar控件

10.17 Text控件

10.18 Toplevel控件

10.19 对话框

10.19.1 messagebox模块

10.19.2 filedialog模块

10.19.3 colorchooser模块

10.20 大神解惑

10.21 跟我练练手

11 流行的Python开发工具

11.1 程序代码编辑工具

11.2 IDLE的调试器

11.3 编译Python文件

11.4 Python的调试器——pdb模块

11.5 反编译二进制码

11.6 Python性能分析器

11.6.1 加载profile模块

11.6.2 pstats模块

11.6.3 校正性能分析

11.7 传输Python应用程序

11.8 大神解惑

11.9 跟我练练手

第Ⅲ篇 高级应用

12 Python的高级技术

12.1 图像的处理

12.1.1 下载与安装pillow

12.1.2 加载图像文件

12.1.3 图像文件的属性

12.1.4 复制与粘贴图像

12.1.5 图像的几何转换

12.1.6 存储图像文件

12.2 语音的处理

12.2.1 winsound模块

12.2.2 sndhdr模块

12.2.3 wave模块

12.2.4 aifc模块

12.3 科学计算——numpy模块

12.3.1 下载和安装numpy模块

12.3.2 array对象

12.3.3 ufunc对象

12.4 正则表达式

12.5 线程

12.6 大神解惑

12.7 跟我练练手

13 数据库的应用

13.1 平面数据库

13.2 内置数据库——SQLite

13.3 操作MySQL数据库

13.3.1 安装PyMySQL

13.3.2 连接MySQL数据库

13.3.3 创建数据表

13.3.4 插入数据

13.3.5 查询数据

13.3.6 更新数据

13.3.7 删除数据

13.4 大神解惑

13.5 跟我练练手

14 网络编程的应用

14.1 网络概要

14.2 socket模块

14.2.1 认识socket模块

14.2.2 创建socket连接

14.3 HTTP库

14.3.1 socketserver模块

14.3.2 server模块

14.3.3 client模块

14.4 urllib库

14.4.1 request模块

14.4.2 parse模块

14.5 ftplib模块

14.6 电子邮件服务协议

14.6.1 smtplib模块

14.6.2 poplib模块

14.6.3 imaplib模块

14.7 新闻群组

14.8 远程连接计算机

14.9 大神解惑

14.10 跟我练练手

15 CGI程序设计

15.1 CGI简介

15.2 cgi模块

15.2.1 输入和输出

15.2.2 cgi模块的函数

15.3 创建和执行脚本

15.3.1 传输信息给Python脚本

15.3.2 表单域的处理

15.3.3 Session

15.3.4 创建输出到浏览器

15.4 使用cookie对象

15.4.1 了解cookie

15.4.2 读取cookie信息

15.5 使用模板

15.6 上传和下载文件

15.7 脚本的调试

15.8 大神解惑

15.9 跟我练练手

16 处理网页数据

16.1 XML编程基础

16.1.1 XPath简介

16.1.2 XSLT简介

16.2 XML语法基础

16.2.1 XML的基本应用

16.2.2 XML文档组成和声明

16.2.3 XML元素介绍

16.3 Python解析XML

16.3.1 使用SAX解析XML

16.3.2 使用DOM解析XML

16.4 XDR数据交换格式

16.5 JSON数据解析

16.6 Python解析HTML

16.7 大神解惑

16.8 跟我练练手

第Ⅳ篇 项目开发实战

17 开发学生信息管理系统

17.1 准备工作

17.1.1 配置Python开发环境

17.1.2 选择合适的开发工具

17.2 需求分析

17.3 结构设计

17.4 具体功能实现

17.4.1 主界面程序main.py

17.4.2 student.py模块

17.4.3 utils.py模块

17.4.4 addstudent.py模块

17.4.5 deletestudent.py模块

17.4.6 changestudent.py模块

17.4.7 rankstudent.py模块

17.5 项目测试

17.5.1 添加学生信息

17.5.2 对学生成绩进行排序

17.5.3 修改学生成绩

17.5.4 删除学生信息

17.5.5 退出系统

17.6 项目总结与扩展

18 开发虚拟聊天室系统

18.1 必备知识点

18.2 需求分析

18.3 结构设计

18.4 配置Python环境

18.5 具体功能实现

18.5.1 服务器端chatserver.py

18.5.2 客户端chatclient.py

18.6 项目测试过程

18.6.1 测试客户端和服务器端间的通信

18.6.2 测试双人聊天

18.6.3 测试多人聊天

18.7 项目总结

19 开发网络数据分析系统

19.1 必备知识点

19.2 需求分析

19.3 结构设计

19.4 配置开发环境

19.4.1 配置Python环境

19.4.2 安装第三方库

19.4.3 加载GML数据集

19.5 具体功能实现

19.5.1 graphgenerator.py模块

19.5.2 communitydetection.py模块

19.5.3 graphmeasures.py模块

19.5.4 plotdegree.py模块

19.6 项目测试

19.6.1 社区发现

19.6.2 分析节点的重要性

19.6.3 综合统计分析