Python
- 4. 其他流程控制工具
- 4.1. if语句
- 4.2. for语句
- 4.3. range()函数
- 4.4. 循环中的break、continue语句及else子句
- 4.5. pass语句
- 4.6. 定义函数
- 4.7. 函数定义详解
- 4.7.1. 默认值参数
- 4.7.2. 关键字参数
- 4.7.3. 特殊参数
- 4.7.3.1. 位置或关键字参数
- 4.7.3.2. 仅位置参数
- 4.7.3.3. 仅限关键字参数
- 4.7.3.4. 函数示例
- 4.7.3.5. 小结
- 4.7.4. 任意实参列表
- 4.7.5. 解包实参列表
- 4.7.6. Lambda 表达式
- 4.7.7. 文档字符串
- 4.7.8. 函数注解
- 4.8. 小插曲:编码风格
extending/index
扩展和嵌入 Python 解释器¶
本文档描述了如何使用 C 或 C++ 编写模块以使用新模块来扩展 Python 解释器的功能。 这些模块不仅可以定义新的函数,还可以定义新的对象类型及其方法。 该文档还描述了如何将 Python 解释器嵌入到另一个应用程序中,以用作扩展语言。 最后,它展示了如何编译和链接扩展模块,以便它们可以动态地(在运行时)加载到解释器中,如果底层操作系统支持此特性的话。
本文档假设你具备有关 Python 的基本知识。有关该语言的非正式介绍,请参阅 Python 教程 。 Python 语言参考手册 给出了更正式的语言定义。 Python 标准库 包含现有的对象类型、函数和模块(内置和用 Python 编写)的文档,使语言具有广泛的应用范围。
关于整个 Python/C API 的详细介绍,请参阅独立的 Python/C API 参考手册 。
推荐的第三方工具¶
本指南仅介绍了作为此 CPython 版本的一部分提供的创建扩展的基本工具。 第三方工具,如 Cython 、 cffi 、 SWIG 和 Numba 提供了更简单和更复杂的方法来为 Python 创建 C 和 C ++ 扩展。
参见
- Python Packaging User Guide: Binary Extensions
“ Python Packaging User Guide ”不仅涵盖了几个简化二进制扩展创建的可用工具,还讨论了为什么首先创建扩展模块的各种原因。
不使用第三方工具创建扩展¶
本指南的这一部分包括在没有第三方工具帮助的情况下创建 C 和 C ++ 扩展。它主要用于这些工具的创建者,而不是建议你创建自己的 C 扩展的方法。
在更大的应用程序中嵌入 CPython 运行时¶
有时,不是要创建在 Python 解释器中作为主应用程序运行的扩展,而是希望将 CPython 运行时嵌入到更大的应用程序中。 本节介绍了成功完成此操作所涉及的一些细节。
此页内容是否对您有帮助
感谢反馈!