擴展和嵌入 Python 解釋器?

本文檔描述了如何使用 C 或 C++ 編寫(xiě)模塊以使用新模塊來(lái)擴展 Python 解釋器的功能。 這些模塊不僅可以定義新的函數,還可以定義新的對象類(lèi)型及其方法。 該文檔還描述了如何將 Python 解釋器嵌入到另一個(gè)應用程序中,以用作擴展語(yǔ)言。 最后,它展示了如何編譯和鏈接擴展模塊,以便它們可以動(dòng)態(tài)地(在運行時(shí))加載到解釋器中,如果底層操作系統支持此特性的話(huà)。

本文檔假設你具備有關(guān) Python 的基本知識。有關(guān)該語(yǔ)言的非正式介紹,請參閱 Python 教程 。 Python 語(yǔ)言參考手冊 給出了更正式的語(yǔ)言定義。 Python 標準庫 包含現有的對象類(lèi)型、函數和模塊(內置和用 Python 編寫(xiě))的文檔,使語(yǔ)言具有廣泛的應用范圍。

關(guān)于整個(gè) Python/C API 的詳細介紹,請參閱獨立的 Python/C API 參考手冊 。

不使用第三方工具創(chuàng )建擴展?

本指南的這一部分包括在沒(méi)有第三方工具幫助的情況下創(chuàng )建 C 和 C ++ 擴展。它主要用于這些工具的創(chuàng )建者,而不是建議你創(chuàng )建自己的 C 擴展的方法。

在更大的應用程序中嵌入 CPython 運行時(shí)?

有時(shí),不是要創(chuàng )建在 Python 解釋器中作為主應用程序運行的擴展,而是希望將 CPython 運行時(shí)嵌入到更大的應用程序中。 本節介紹了成功完成此操作所涉及的一些細節。