您当前位置: 首页 深入 Python 3

目录

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

© 2001–11 Mark Pilgrim