您当前位置: 首页 ‣ 深入 Python 3 ‣
目录
-
“深入 Python 3” 中的新内容
-
也称为 “负一层”
-
安装 Python
-
开始深入
-
哪个 Python 适合您?
-
在 Microsoft Windows 上安装
-
在 Mac OS X 上安装
-
在 Ubuntu Linux 上安装
-
在其他平台上安装
-
使用 Python Shell
-
Python 编辑器和 IDE
-
您的第一个 Python 程序
-
开始深入
-
声明函数
-
可选参数和命名参数
-
编写可读代码
-
文档字符串
-
import
搜索路径
-
一切皆为对象
-
什么是对象?
-
代码缩进
-
异常
-
捕获导入错误
-
未绑定变量
-
一切区分大小写
-
运行脚本
-
进一步阅读
-
原生数据类型
-
开始深入
-
布尔值
-
数字
-
将整数强制转换为浮点数,反之亦然
-
常见的数值运算
-
分数
-
三角函数
-
布尔上下文中的数字
-
列表
-
创建列表
-
切片列表
-
向列表添加项目
-
在列表中搜索值
-
从列表中删除项目
-
从列表中删除项目:加时赛
-
布尔上下文中的列表
-
元组
-
布尔上下文中的元组
-
一次分配多个值
-
集合
-
创建集合
-
修改集合
-
从集合中删除项目
-
常见的集合运算
-
布尔上下文中的集合
-
字典
-
创建字典
-
修改字典
-
混合值字典
-
布尔上下文中的字典
-
None
-
布尔上下文中的
None
-
进一步阅读
-
推导
-
开始深入
-
处理文件和目录
-
当前工作目录
-
处理文件名和目录名
-
列出目录
-
获取文件元数据
-
构建绝对路径名
-
列表推导
-
字典推导
-
使用字典推导的其他有趣操作
-
集合推导
-
进一步阅读
-
字符串
-
一些您在深入之前需要理解的枯燥内容
-
Unicode
-
开始深入
-
格式化字符串
-
复合字段名
-
格式说明符
-
其他常见的字符串方法
-
切片字符串
-
字符串与字节
-
附录:Python 源代码的字符编码
-
进一步阅读
-
正则表达式
-
开始深入
-
案例研究:街道地址
-
案例研究:罗马数字
-
检查千位数
-
检查百位数
-
使用
{n,m}
语法
-
检查十位数和个位数
-
详细的正则表达式
-
案例研究:解析电话号码
-
总结
-
闭包 & 生成器
-
开始深入
-
我知道,让我们使用正则表达式吧!
-
函数列表
-
模式列表
-
模式文件
-
生成器
-
斐波那契生成器
-
复数规则生成器
-
进一步阅读
-
类 & 迭代器
-
开始深入
-
定义类
-
__init__()
方法
-
实例化类
-
实例变量
-
斐波那契迭代器
-
复数规则迭代器
-
进一步阅读
-
高级迭代器
-
开始深入
-
查找模式的所有出现位置
-
查找序列中的唯一项目
-
进行断言
-
生成器表达式
-
计算排列……用懒惰的方式!
-
itertools
模块中的其他有趣内容
-
一种新的字符串操作方式
-
将任意字符串评估为 Python 表达式
-
将所有内容整合在一起
-
进一步阅读
-
单元测试
-
(不)深入
-
一个问题
-
“停止并引发火灾”
-
更多停止,更多火灾
-
还有一件事……
-
令人愉悦的对称性
-
更多错误输入
-
重构
-
开始深入
-
处理需求变更
-
重构
-
总结
-
文件
-
开始深入
-
从文本文件读取
-
字符编码再次露出其丑陋的嘴脸
-
流对象
-
从文本文件读取数据
-
关闭文件
-
自动关闭文件
-
一次读取一行数据
-
写入文本文件
-
字符编码再次出现
-
二进制文件
-
来自非文件来源的流对象
-
处理压缩文件
-
标准输入、输出和错误
-
重定向标准输出
-
进一步阅读
-
XML
-
开始深入
-
XML 的 5 分钟速成课程
-
Atom Feed 的结构
-
解析 XML
-
元素是列表
-
属性是字典
-
在 XML 文档中搜索节点
-
使用 lxml 进一步探索
-
生成 XML
-
解析损坏的 XML
-
进一步阅读
-
序列化 Python 对象
-
开始深入
-
关于本章示例的简短说明
-
将数据保存到 Pickle 文件
-
从 Pickle 文件加载数据
-
无需文件进行 Pickle 操作
-
字节和字符串再次露出其丑陋的嘴脸
-
调试 Pickle 文件
-
序列化 Python 对象以供其他语言读取
-
将数据保存到 JSON 文件
-
Python 数据类型到 JSON 的映射
-
序列化 JSON 不支持的数据类型
-
从 JSON 文件加载数据
-
进一步阅读
-
HTTP Web 服务
-
开始深入
-
HTTP 的功能
-
缓存
-
最后修改检查
-
ETag 检查
-
压缩
-
重定向
-
如何不通过 HTTP 获取数据
-
网络传输中的内容?
-
介绍
httplib2
-
简短的解释,说明为什么
httplib2
返回字节而不是字符串
-
httplib2
如何处理缓存
-
httplib2
如何处理 Last-Modified
和 ETag
标头
-
http2lib
如何处理压缩
-
httplib2
如何处理重定向
-
超越 HTTP GET
-
超越 HTTP POST
-
进一步阅读
-
案例研究:将
chardet
移植到 Python 3
-
开始深入
-
什么是字符编码自动检测?
-
这不可能吗?
-
是否存在这样的算法?
-
介绍
chardet
模块
-
UTF-n 带有 BOM
-
转义编码
-
多字节编码
-
单字节编码
-
windows-1252
-
运行
2to3
-
关于多文件模块的简短解释
-
修复
2to3
无法修复的内容
-
False
是无效语法
-
没有名为
constants
的模块
-
名称 'file' 未定义
-
无法在类字节对象上使用字符串模式
-
无法将
'bytes'
对象隐式转换为 str
-
不支持的操作数类型(s) 用于 +:
'int'
和 'bytes'
-
ord()
预计字符串长度为 1,但找到 int
-
无法比较类型:
int()
>= str()
-
全局名称
'reduce'
未定义
-
总结
-
打包 Python 库
-
开始深入
-
Distutils 无法为您做的事情
-
目录结构
-
编写您的安装脚本
-
对您的包进行分类
-
良好包分类器的示例
-
使用清单指定其他文件
-
检查您的安装脚本是否存在错误
-
创建源代码发行版
-
创建图形安装程序
-
为其他操作系统构建可安装的软件包
-
将您的软件添加到 Python 包索引
-
Python 包装的多种未来可能性
-
进一步阅读
-
使用
2to3
将代码移植到 Python 3
-
开始深入
-
print
语句
-
Unicode 字符串字面量
-
unicode()
全局函数
-
long
数据类型
-
<> 比较
-
has_key()
字典方法
-
返回列表的字典方法
-
已重命名或重新组织的模块
-
http
-
urllib
-
dbm
-
xmlrpc
-
其他模块
-
包内的相对导入
-
next()
迭代器方法
-
filter()
全局函数
-
map()
全局函数
-
reduce()
全局函数
-
apply()
全局函数
-
intern()
全局函数
-
exec
语句
-
execfile
语句
-
repr
字面量(反引号)
-
try...except
语句
-
raise
语句
-
生成器上的
throw
方法
-
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
-
元组上的列表推导
-
os.getcwdu()
函数
-
元类
-
风格问题
-
set()
字面量(显式)
-
buffer()
全局函数(显式)
-
逗号周围的空格(显式)
-
常见习惯用法(显式)
-
特殊方法名
-
开始深入
-
基础知识
-
充当迭代器的类
-
计算属性
-
充当函数的类
-
充当集合的类
-
充当字典的类
-
充当数字的类
-
可比较的类
-
可序列化的类
-
可在
with
块中使用的类
-
非常深奥的内容
-
进一步阅读
-
下一步去哪里
-
阅读材料
-
在哪里寻找兼容 Python 3 的代码
-
故障排除
-
开始深入
-
进入命令行
-
在命令行上运行 Python
© 2001–11 Mark Pilgrim