擴充套件和嵌入python直譯器 摘要

2021-04-07 13:35:50 字數 487 閱讀 2185

python是一種解釋型,物件導向的程式語言。本文描述如何使用c或c++編寫新模組來擴充套件python直譯器。擴充套件模組能夠定義新的函式也可以定義新的物件型別及其方法。本文也描述了如何將python直譯器作為一種擴充套件語言嵌入到另乙個應用程式中。最後,本文演示了如何編譯和連線擴充套件模組,使擴充套件模組可以動態的(在執行時)載入到直譯器中,如果作業系統支援動態載入特性。

本文需要你具有python的基礎知識。關於python語言的介紹,請參看 《python tutorial》

。 《python reference manual》

提供了這門語言更規範的定義。 《python library reference》

描述了現有的物件型別,函式和模組(包括內建的模組和用python編寫的模組),這些都擴大了這門語言的應用範圍。

關於全部python/c api的詳細描述,請參看 《python/c api reference manual》

《擴充套件和嵌入python直譯器》1 9 構造任意值

1.9 構造任意值 py buildvalue 函式和pyarg parsetuple 相同,宣告如下 pyobject py buildvalue char format,py buildvalue 函式和pyarg parsetuple 函式類似,識別一系列格式化單元,但引數 作為輸入引數,而不...

《擴充套件和嵌入python直譯器》1 3 回到例子中

1.3 回到例子 回到我們的例子函式中,現在,你應該能夠理解下面這些語句 if pyarg parsetuple args,s command return null 根據是否由 pyarg parsetuple 函式設定了異常,如果在引數列表中檢測到錯誤 異常被設定 則函式返回 null 函式返回...

python擴充套件和嵌入

由於python說解釋性的指令碼語言,執行速度較慢。在某些需要提高指令碼執行效率的情況下,可以考慮擴充套件python,用c c 來完成對效率要求高的部分。另外,由於python功能強大,完全可以嵌入到c c 中,以簡化程式,減少 python提供了支援c c 介面,可以方便的使用c c 來擴充套件...