擴(kuò)展和嵌入 Python 解釋器?

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

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

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

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

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

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

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