http://old.sebug.net/paper/books/dive-into-python3/
观其大纲
-1《深入 Python 3》中有何新内容
0 安装 Python
1 第一份 Python 程序
2 内置数据类型
3 理解
4 字符串
5 正则表达式
6 闭合 与 生成器
7 类 & 迭代器
8 高级迭代器
9单元测试
10 重构
11文件
12XML
13Python 对象序列化
14 HTTP Web 服务
15 案例研究:将 chardet 移植到 Python 3
16 Python 类库打包
A 使用 2to3 将代码移植到 Python 3
B 特殊方法名称
C 接下来阅读什么?
-1 《深入 Python 3》中有何新内容
又名 “负号层”
0 安装 Python
深入
哪个版本的 Python 适合您?
在 Microsoft Windows 上安装
在 Mac OS X 上安装
在 Ubuntu Linux 上安装
在其它平台上安装
使用 Python Shell
Python 编辑器和集成开发环境
1 第一份 Python 程序
深入
函数声明
可选参数和命名参数
撰写可读代码
文档字符串
import 搜索路径
一切都是对象
什么是对象?
代码缩进
例外
捕捉 Import 错误
未绑定变量
一切都区分大小写
运行脚本
深入阅读
2 内置数据类型
深入
布尔类型
数值类型
将整数强制转换为浮点数及反向转换
常用数值运算
分数
三角函数
布尔上下文环境中的数值
列表
创建列表
列表切片
向列表中新增项
在列表中检索值
从列表中删除元素
Removing Items From A List: Bonus Round
布尔上下文环境中的列表
元组
布尔上下文环境中的元组
同时赋多个值
集合
创建集合
修改集合
从集合中删除元素
常见集合操作
布尔上下文环境中的集合
字典
创建字典
修改字典
混合值字典
布尔上下文环境中的字典
None
布尔上下文环境中的 None
深入阅读
3 理解
深入
处理文件和目录
当前工作目录
处理文件名和目录名
列出目录
获取文件元数据
构造绝对路径
列表解析
字典解析
字典解析的其它趣事
集合解析
深入阅读
4 字符串
深入之前必须理解的繁琐内容
Unicode
深入
格式化字符串
符合字段名称
格式标识符
其它常见字符串方法
字符串切片
字符串与字节
后记:Python 源代码的字符编码
深入阅读
5 正则表达式
深入
案例研究:街道地址
案例研究:罗马数字
检查千位
检查百位
使用 {n,m} 语法
检查十位和个位
长正则表达式
案例研究:电话号码分析
摘要
6 闭合 与 生成器
深入
我知道,让我们用正则表达式!
函数列表
匹配模式列表
匹配模式文件
生成器
斐波那奇生成器
复数规则生成器
深入阅读
7 类 & 迭代器
深入
类的定义
init() 方法
类的实例化
实例变量
斐波那奇迭代器
多元规则迭代器
深入阅读
8 高级迭代器
深入
找到所有匹配模式
在某序列中查找唯一项
制作断言
生成器表达式
计算置换 …… 懒人的办法!
itertools 模块中其它有趣的东西
一种新的字符串操作
将任意字符串转换为 Python 表达式
综述
深入阅读
9 单元测试
(不要)深入
一个简单的问题
“Halt And Catch Fire”
More Halting, More Fire
还有一件事情……
可喜的对称性
更多错误输入
10重构
深入
控制需求变化
重构
摘要
11 文件
深入
读取文本文件
Character Encoding Rears Its Ugly Head
流对象
从文本文件读取数据
关闭文件
自动关闭文件
每次读取一行数据
将数据写入文本文件
又见字符串编码
二进制文件
来自非文件源的流对象
处理压缩文件
标准输入、输出和错误
重定性标准输出
深入阅读
12 XML
深入
XML 五分钟速成班
The Structure Of An Atom Feed
解析 XML
元素是列表
属性是字典
在 XML 内搜索节点
进一步了解 lxml
生成 XML
解析残缺的 XML
深入阅读
13 Python 对象序列化
深入
关于本章示例的简要注意事项
将数据保存为 Pickle 文件
从 Pickle 文件中载入数据
无文件序列化
Bytes 和 Strings 再次抬头
调试 Pickle 文件
将 Python 对象序列化以供其它语言读取
将数据保存为 JSON 文件
将 Python 数据类型映射为 JSON
将 JSON 不支持的数据类型序列化
从 JSON 文件中载入数据
深入阅读
14 HTTP Web 服务
深入
HTTP 特性
缓存
Last-Modified 检查
ETag
压缩
重定向
如果绕过 HTTP 获取数据
线路上有什么?
httplib2 介绍
轻微离题:解释为什么 httplib2 返回 Bytes 而不是 Strings
httplib2 如何处理缓存
httplib2 如何处理 Last-Modified 和 ETag 头部信息
http2lib 如何处理压缩
httplib2 如何处理重定向
超越 HTTP GET
超越 HTTP POST
深入阅读
15 案例研究:将 chardet 移植到 Python 3
深入
何为字符编码自动检测?
这难道不可能?
存在这样的算法吗?
chardet 模块介绍
带有 BOM 的 UTF-n
转义编码
多字节编码
单字节编码
windows-1252
运行 2to3
唠叨两句 Multi-File 模块
修正 2to3 未实现的功能
False 是错误的语法
没有叫做 constants 的模块
名称 'file' 未定义
不能对类字节对象使用字符串匹配
不能隐式地将 'bytes' 对象转换为 str
不支持的操作类型 +: 'int' 和 'bytes'
ord() 期待长度为 1 的字符串,但遇到了 int
不可排序的类型: int() >= str()
全局名称 'reduce' 未定义
摘要
16 Python 类库打包
深入
Distutils 无法为你完成的工作
目录结构
编写安装脚本
将包分类
包分类的优秀范例
通过清单指定附加文件
检查安装脚本的错误
创建发布源
创建图形化安装程序
为其它操作系统编译安装包
将软件添加到 Python 安装包列表
Python 打包工具的一些可能的将来
深入阅读
使用 2to3 将代码移植到 Python 3
深入
print 语句
Unicode 字符串文字
unicode() 全局函数
long 数据类型
<> 比较
has_key() 字典方法
返回列表的字典方法
被重命名或重组的模块 reorganized
http
urllib
dbm
xmlrpc
其它模块
包内的相对 imports
next() 迭代器方法
filter() 全局函数
map() 全局函数
reduce() 全局函数
apply() 全局函数
intern() 全局函数
exec 语句
execfile 语句
repr literals (backticks)
try...except 语句
raise 语句
throw method on generators
xrange() 全局函数
raw_input() 和 input() 全局函数
func_* 函数属性
xreadlines() I/O 方法
lambda 函数接受元组而不是多参数
特别方法属性
nonzero 特别方法
八进制数字
sys.maxint
callable() 全局函数
zip() 全局函数
StandardError 例外
types 模块常量
isinstance() 全局函数
basestring 数据类型
itertools 模块
sys.exc_type、 sys.exc_value、sys.exc_traceback
List comprehensions over tuples
os.getcwdu() 函数
元类
风格问题
set() literals (显式)
buffer() 全局函数(显式)
包围逗号的空白(显式)
常见习惯用法(显式)
特殊方法名称
深入
基础知识
行为方式与迭代器类似的类
计算属性
行为方式与函数类似的类
行为方式与序列类似的类
行为方式与字典类似的类
行为方式与数值类似的类
可比较的类
可序列化的类
可在 with 语块中使用的类
真正神奇的东西
深入阅读
接下来阅读什么?
要阅读的对象
到哪里找与 Python 3-兼容的代码
网友评论