擴充套件和嵌入 Python 直譯器

本文件描述瞭如何使用 C 或 C++ 編寫模組來使用新模組擴充套件 Python 直譯器。 這些模組不僅可以定義新函式,還可以定義新的物件型別及其方法。 本文件還描述瞭如何將 Python 直譯器嵌入到另一個應用程式中,用作擴充套件語言。 最後,它展示瞭如何編譯和連結擴充套件模組,以便如果底層作業系統支援此功能,它們可以在執行時動態載入到直譯器中。

本文件假設您對 Python 有基本瞭解。 有關該語言的非正式介紹,請參閱 Python 教程Python 語言參考 給出了該語言的更正式的定義。Python 標準庫 記錄了現有的物件型別、函式和模組(內建的和用 Python 編寫的),這些使該語言具有廣泛的應用範圍。

有關整個 Python/C API 的詳細描述,請參閱單獨的 Python/C API 參考手冊

在不使用第三方工具的情況下建立擴充套件

本指南的這一部分介紹了在沒有第三方工具幫助的情況下建立 C 和 C++ 擴充套件。 它主要用於這些工具的建立者,而不是建立您自己的 C 擴充套件的推薦方法。

將 CPython 執行時嵌入到更大的應用程式中

有時,與其建立在 Python 直譯器內部作為主應用程式執行的擴充套件,不如將 CPython 執行時嵌入到更大的應用程式中。 本節介紹成功執行此操作所涉及的一些詳細資訊。