内容表

  • 扩展和嵌入 Python 解释器
    • 推荐第三方工具
    • 不用第三方工具创建扩展
    • 在更大应用程序 Runtime 嵌入 CPython

上一话题

安全注意事项

下一话题
就业培训     下载中心     Wiki     联络
登录   注册

Log
  1. 首页
  2. Python 3.12.4
  3. 索引
  4. 模块
  5. 下一
  6. 上一
  7. 扩展和嵌入 Python 解释器

扩展和嵌入 Python 解释器 ¶

此文档描述如何以 C/C++ 编写模块,采用新模块扩展 Python 解释器。这些模块不仅可以定义新函数,还可以定义新对象类型及其方法。文档还描述如何将 Python 解释器嵌入另一个应用程序,为用作扩展语言。最后,展示如何编译和链接扩展模块,以便将它们 (在运行时) 动态加载进解释器 (若底层操作系统支持此特征)。

此文档假定 (您了解) 有关 Python 的基本知识。对于语言的非正式介绍,见 Python 教程 . Python 语言参考 给出语言的更正式定义。 Python 标准库 文档现有对象类型、函数及模块 (内置和以 Python 编写),使语言应用程序范围更广泛。

对于整个 Python/C API 的详细描述,见单独 Python/C API 参考手册 .

推荐第三方工具 ¶

此指南仅涵盖属于此版本 CPython 所提供的用于创建扩展的基本工具。第 3 方工具像 Cython , cffi , SWIG and Numba 为 Python 提供创建 C/C++ 扩展的更简单、更完备方式。

另请参阅

Python 打包用户指南:二进制扩展

Python 打包用户指南不仅涵盖能简化二进制扩展创建的几个可用工具,还讨论了为什么最初期望创建扩展模块的各种原因。

不用第三方工具创建扩展 ¶

此指南节涵盖不用第 3 方工具的援助创建 C/C++ 扩展。它旨在首要针对这些工具的创建者,而不是推荐创建自己的 C 扩展的方式。

  • 1. 采用 C/C++ 扩展 Python
    • 1.1. 简单范例
    • 1.2. 插曲:错误和异常
    • 1.3. 回到范例
    • 1.4. 模块方法表和初始化函数
    • 1.5. 编译和连锁
    • 1.6. 从 C 调用 Python 函数
    • 1.7. 提取扩展函数中的参数
    • 1.8. 扩展函数的关键词参数
    • 1.9. 构建任意值
    • 1.10. 引用计数
    • 1.11. 以 C++ 编写扩展
    • 1.12. 为扩展模块提供 C API
  • 2. 定义扩展类型:教程
    • 2.1. 基础
    • 2.2. 把数据和方法添加到基本范例
    • 2.3. 对数据属性提供更好控制
    • 2.4. 支持循环垃圾收集
    • 2.5. 子类化其它类型
  • 3. 定义扩展类型:分类话题
    • 3.1. 定稿和解除分配
    • 3.2. 对象呈现
    • 3.3. 属性管理
    • 3.4. 对象比较
    • 3.5. 抽象协议支持
    • 3.6. 弱引用支持
    • 3.7. 更多建议
  • 4. 构建 C/C++ 扩展
    • 4.1. Building C and C++ Extensions with setuptools
  • 5. 在 Windows 构建 C/C++ 扩展
    • 5.1. 食谱方式
    • 5.2. Unix 和 Windows 之间的差异
    • 5.3. 在实践中使用 DLL

在更大应用程序 Runtime 嵌入 CPython ¶

有时候,与其创建在 Python 解释器中作为主应用程序运行的扩展,不如将 CPython 运行时嵌入更大的应用程序中。此节涵盖成功做到这点所涉及的一些细节。

  • 1. 将 Python 嵌入另一应用程序
    • 1.1. 很高级嵌入
    • 1.2. 超越很高级嵌入:概述
    • 1.3. 纯嵌入
    • 1.4. 扩展嵌入式 Python
    • 1.5. 在 C++ 中嵌入 Python
    • 1.6. 在像 Unix 系统的编译和链接

内容表

  • 扩展和嵌入 Python 解释器
    • 推荐第三方工具
    • 不用第三方工具创建扩展
    • 在更大应用程序 Runtime 嵌入 CPython

上一话题

安全注意事项

下一话题

1. 采用 C/C++ 扩展 Python

本页

  • 报告 Bug
  • 展示源

快速搜索

键入搜索术语或模块、类、函数名称。

  1. 首页
  2. Python 3.12.4
  3. 索引
  4. 模块
  5. 下一
  6. 上一
  7. 扩展和嵌入 Python 解释器

版权所有  © 2014-2026 乐数软件    

工业和信息化部: 粤ICP备14079481号-1