擴展和嵌入 Python 解釋器?

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

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

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

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

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

在更大的應(yīng)用程序中嵌入 CPython 運行時?

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