第1章 准备出发
1.1 Python的历史
1.2 Python的特点
1.3 搭建Python开发环境
1.4 动动手编写和运行一个Hello World程序
1.4.1 交互方式
1.4.2 文件方式
1.5 练一练
第2章 编程基础那点事
2.1 标识符
2.2 关键字
2.3 变量
2.4 语句
2.5 代码注释
2.6 模块
2.7 动动手 —— 实现两个模块间的代码元素访问
2.8 练一练
第3章 数字类型的数据
3.1 Python中的数据类型
3.2 整数类型
3.3 浮点类型
3.4 复数类型
3.5 布尔类型
3.6 数字类型的相互转换
3.6.1 隐式类型的转换
3.6.2 显式类型的转换
3.7 练一练
第4章 运算符
4.1 算术运算符
4.2 比较运算符
4.3 逻辑运算符
4.4 位运算符
4.5 赋值运算符
4.6 运算符的优先级
4.7 练一练
第5章 程序流程控制
5.1 分支语句
5.1.1 if结构
5.1.2 if-else结构
5.1.3 if-elif-else结构
5.2 循环语句
5.2.1 while语句
5.2.2 for语句
5.3 跳转语句
5.3.1 break语句
5.3.2 continue语句
5.4 动动手 —— 计算水仙花数
5.5 练一练
第6章 容器类型的数据
6.1 序列
6.1.1 序列的索引操作
6.1.2 加和乘操作
6.1.3 切片操作
6.1.4 成员测试
6.2 列表
6.2.1 创建列表
6.2.2 追加元素
6.2.3 插入元素
6.2.4 替换元素
6.2.5 删除元素
6.3 元组
6.3.1 创建元组
6.3.2 元组拆包
6.4 集合
6.4.1 创建集合
6.4.2 修改集合
6.5 字典
6.5.1 创建字典
6.5.2 修改字典
6.5.3 访问字典视图
6.6 动动手 —— 遍历字典
6.7 练一练
第7章 字符串
7.1 字符串的表示方式
7.1.1 普通字符串
7.1.2 原始字符串
7.1.3 长字符串
7.2 字符串与数字的相互转换
7.2.1 将字符串转换为数字
7.2.2 将数字转换为字符串
7.3 格式化字符串
7.3.1 使用占位符
7.3.2 格式化控制符
7.4 操作字符串
7.4.1 字符串查找
7.4.2 字符串替换
7.4.3 字符串分割
7.5 动动手 —— 统计英文文章中单词出现的频率
7.6 练一练
第8章 函数
8.1 定义函数
8.2 调用函数
8.2.1 使用位置参数调用函数
8.2.2 使用关键字参数调用函数
8.3 参数的默认值
8.4 可变参数
8.4.1 基于元组的可变参数(*可变参数)
8.4.2 基于字典的可变参数(**可变参数)
8.5 函数中变量的作用域
8.6 函数类型
8.6.1 理解函数类型
8.6.2 过滤函数filter
8.6.3 映射函数map
8.7 lambda函数
8.8 动动手 —— 使用更多的lambda函数
8.9 练一练
第9章 类与对象
9.1 面向对象
9.2 定义类
9.3 创建对象
9.4 类的成员
9.4.1 实例变量
9.4.2 构造方法
9.4.3 实例方法
9.4.4 类变量
9.4.5 类方法
9.5 封装性
9.5.1 私有变量
9.5.2 私有方法
9.5.3 使用属性
9.6 继承性
9.6.1 Python中的继承
9.6.2 多继承
9.6.3 方法重写
9.7 多态性
9.7.1 继承与多态
9.7.2 鸭子类型测试与多态
9.8 练一练
第10章 异常处理
10.1 第一个异常 —— 除零异常
10.2 捕获异常
10.2.1 try-except语句
10.2.2 多个except代码块
10.2.3 多重异常捕获
10.2.4 try-except语句嵌套
10.3 使用finally代码块释放资源
10.4 自定义异常类
10.5 动动手 —— 手动引发异常
10.6 练一练
第11章 常用的内置模块
11.1 数学计算模块 —— math
11.2 日期时间模块 —— datetime
11.2.1 datetime类
11.2.2 date类
11.2.3 time类
11.2.4 计算时间跨度类——timedelta
11.2.5 将日期时间与字符串相互转换
11.3 正则表达式模块 —— re
11.3.1 字符串匹配
11.3.2 字符串查找
11.3.3 字符串替换
11.3.4 字符串分割
11.4 点拨点拨 —— 如何使用官方文档查找模块帮助信息
11.5 练一练
第12章 文件读写
12.1 打开文件
12.2 关闭文件
12.2.1 在finally代码块中关闭文件
12.2.2 在with as代码块中关闭文件
12.3 读写文本文件
12.4 动动手 —— 复制文本文件
12.5 读写二进制文件
12.6 动动手 —— 复制二进制文件
12.7 练一练
第13章 图形用户界面
13.1 Python中的图形用户界面开发库
13.2 安装wxPython
13.3 第一个wxPython程序
13.4 自定义窗口类
13.5 在窗口中添加控件
13.6 事件处理
13.7 布局管理
13.7.1 盒子布局管理器
13.7.2 动动手——重构事件处理示例
13.7.3 动动手——盒子布局管理器嵌套示例
13.8 控件
13.8.1 文本输入控件
13.8.2 复选框和单选按钮
13.8.3 列表
13.8.4 静态图片控件
13.9 点拨点拨 —— 如何使用wxPython官方文档
13.10 练一练
第14章 网络通信
14.1 基本的网络知识
14.1.1 TCP/IP
14.1.2 IP地址
14.1.3 端口
14.1.4 HTTP/HTTPS
14.2 搭建自己的Web服务器
14.3 urllib.request模块
14.3.1 发送GET请求
14.3.2 发送POST请求
14.4 JSON数据
14.4.1 JSON文档的结构
14.4.2 JSON数据的解码
14.5 动动手 —— 下载图片示例
14.6 动动手 —— 返回所有备忘录信息
14.7 练一练
第15章 访问数据库
15.1 SQLite数据库
15.1.1 SQLite数据类型
15.1.2 Python数据类型与SQLite数据类型的映射
15.1.3 使用GUI管理工具管理SQLite数据库
15.2 数据库编程的基本操作过程
15.3 sqlite3模块API
15.3.1 数据库连接对象Connection
15.3.2 游标对象Cursor
15.4 动动手 —— 数据库的CRUD操作示例
15.4.1 示例中的数据表
15.4.2 无条件查询
15.4.3 有条件查询
15.4.4 插入数据
15.4.5 更新数据
15.4.6 删除数据
15.5 点拨点拨 —— 防止SQL注入攻击
15.6 练一练
第16章 多线程
16.1 线程相关的知识
16.1.1 进程
16.1.2 线程
16.1.3 主线程
16.2 线程模块 —— threading
16.3 创建子线程
16.3.1 自定义函数实现线程体
16.3.2 自定义线程类实现线程体
16.4 线程管理
16.4.1 等待线程结束
16.4.2 线程停止
16.5 动动手 —— 下载图片示例
16.6 练一练