2011-06-06 47 views
16

在爲Python創建C擴展時,是否有可能以某種方式將向docstrings公開的註釋寫入擴展的用戶?Python的C擴展中的Docstrings?

+0

您可能已經意識到了這一點,但如果沒有的話:您可能想要調查Cython。您編寫Python風格的代碼,添加一些類型聲明,並將其轉換爲C並進行編譯。 – 2011-06-06 23:58:38

回答

17

文檔字符串爲類型作爲tp_doc構件在PyTypeObject結構,見an example in the docs

Docstrings for 函數可以包含在module's method tableml_doc字段中。如果您希望文檔字符串與實際函數「物理上接近」,則可以在您在函數表中引用的函數定義之上包含字符串常量。

方法的文檔字符串可以分配給type's member table中的doc字段。

Docstrings for 模塊可以作爲參數傳遞給Py_InitModule3()Py_InitModule4()函數。

+0

很好的答案,謝謝Sven。直接鏈接非常方便。 – 2011-06-09 08:57:06

-3

我不這麼認爲,但是你應該能夠操縱python中那些對象的docstrings。有關更多信息,請參閱python docs。可以被包括