Python 教程¶
提示
本教程专为熟悉编程语言但对 Python 陌生的 *程序员* 设计,而**不是**为编程零基础的 *初学者* 设计。
Python 是一门易于学习、功能强大的编程语言。它拥有高效的高级数据结构,以及简单而有效的面向对象编程方法。Python 优雅的语法和动态类型,以及它的解释性,使其成为在大多数平台上,在许多领域进行脚本编写和快速应用程序开发的理想语言。
Python 解释器和丰富的标准库可以从 Python 网站 https://pythonlang.cn/ 免费获取适用于所有主流平台的源码和二进制文件,并且可以自由分发。该网站还包含了许多免费的第三方 Python 模块、程序、工具的发行版和链接,以及额外的文档。
Python 解释器可以轻松地使用 C 或 C++(或其他可以从 C 调用的语言)实现的新函数和数据类型进行扩展。Python 也适合作为可定制应用程序的扩展语言。
本教程以非正式的方式向读者介绍 Python 语言和系统的基本概念和特性。请注意,本教程假定你已具备一定的编程基础。如果手边有一个 Python 解释器会便于动手实践,但所有示例都是独立完整的,因此本教程也可以离线阅读。
关于标准对象和模块的描述,请参阅 Python 标准库。Python 语言参考 对该语言有更正式的定义。要用 C 或 C++ 编写扩展,请阅读扩展和嵌入 Python 解释器和Python/C API 参考手册。此外,还有几本深入介绍 Python 的书籍。
本教程不会试图做到全面,也不会涵盖所有功能,甚至不包括所有常用功能。相反,它介绍了 Python 许多最值得注意的功能,并会让你对这门语言的风格和特点有一个很好的了解。阅读之后,你将能够读写 Python 模块和程序,并准备好学习Python 标准库中描述的各种 Python 库模块。
术语表也值得一看。
1. 开胃菜
2. 使用 Python 解释器
2.1. 启动解释器
2.1.1. 传递参数
2.1.2. 交互模式
2.2. 解释器及其环境
2.2.1. 源代码编码
3. Python 非正式入门
3.1. 将 Python 当作计算器
3.1.1. 数字
3.1.2. 文本
3.1.3. 列表
3.2. 编程的第一步
4. 更多流程控制工具
4.1. if 语句
4.2. for 语句
4.3. range() 函数
4.4. break 和 continue 语句
4.5. 循环中的 else 子句
4.6. pass 语句
4.7. match 语句
4.8. 定义函数
4.9. 深入函数定义
4.9.1. 默认参数值
4.9.2. 关键字参数
4.9.3. 特殊参数
4.9.3.1. 位置或关键字参数
4.9.3.2. 仅限位置的形参
4.9.3.3. 仅限关键字的参数
4.9.3.4. 函数示例
4.9.3.5. 回顾
4.9.4. 任意参数列表
4.9.5. 解包参数列表
4.9.6. Lambda 表达式
4.9.7. 文档字符串
4.9.8. 函数注解
4.10. 插曲:编码风格
5. 数据结构
5.1. 深入列表
5.1.1. 将列表用作堆栈
5.1.2. 将列表用作队列
5.1.3. 列表推导式
5.1.4. 嵌套的列表推导式
5.2. del 语句
5.3. 元组和序列
5.4. 集合
5.5. 字典
5.6. 循环技巧
5.7. 深入条件
5.8. 比较序列和其他类型
6. 模块
6.1. 深入模块
6.1.1. 将模块作为脚本执行
6.1.2. 模块搜索路径
6.1.3. “已编译”的 Python 文件
6.2. 标准模块
6.3. dir() 函数
6.4. 包
6.4.1. 从包中导入 *
6.4.2. 包内引用
6.4.3. 多个目录中的包
7. 输入与输出
7.1. 更复杂的输出格式
7.1.1. 格式化字符串字面值
7.1.2. 字符串 format() 方法
7.1.3. 手动字符串格式化
7.1.4. 旧的字符串格式化
7.2. 读写文件
7.2.1. 文件对象的方法
7.2.2. 使用 json 保存结构化数据
8. 错误和异常
8.1. 语法错误
8.2. 异常
8.3. 处理异常
8.4. 抛出异常
8.5. 异常链
8.6. 用户自定义异常
8.7. 定义清理操作
8.8. 预定义的清理操作
8.9. 抛出并处理多个不相关的异常
8.10. 为异常附加注解
9. 类
9.1. 关于名称和对象的一点说明
9.2. Python 作用域和命名空间
9.2.1. 作用域和命名空间示例
9.3. 初识类
9.3.1. 类定义语法
9.3.2. 类对象
9.3.3. 实例对象
9.3.4. 方法对象
9.3.5. 类和实例变量
9.4. 随机备注
9.5. 继承
9.5.1. 多重继承
9.6. 私有变量
9.7. 零碎内容
9.8. 迭代器
9.9. 生成器
9.10. 生成器表达式
10. 标准库简介
10.1. 操作系统接口
10.2. 文件通配符
10.3. 命令行参数
10.4. 错误输出重定向和程序终止
10.5. 字符串模式匹配
10.6. 数学
10.7. 互联网访问
10.8. 日期和时间
10.9. 数据压缩
10.10. 性能测量
10.11. 质量控制
10.12. 自带电池
11. 标准库简介 — 第二部分
11.1. 输出格式化
11.2. 模板
11.3. 使用二进制数据记录布局
11.4. 多线程
11.5. 日志记录
11.6. 弱引用
11.7. 用于处理列表的工具
11.8. 十进制浮点数算术
12. 虚拟环境和包
12.1. 引言
12.2. 创建虚拟环境
12.3. 使用 pip 管理包
13. 接下来做什么?
14. 交互式输入编辑和历史替换
14.1. Tab 补全和历史编辑
14.2. 交互式解释器的替代方案
15. 浮点数算术:问题与限制
15.1. 表示错误
16. 附录
16.1. 交互模式
16.1.1. 错误处理
16.1.2. 可执行的 Python 脚本
16.1.3. 交互式启动文件
16.1.4. 自定义模块