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 來擴充套件...