Python C 扩展中的文档字符串?

23 投票
1 回答
3164 浏览
提问于 2025-04-16 19:04

在为Python创建C扩展时,是否可以写一些注释,让这些注释能以文档字符串的形式展示给使用这个扩展的用户呢?

1 个回答

21

类型的文档字符串可以作为 tp_doc 成员包含在 PyTypeObject 结构中,具体可以参考 文档中的示例

函数的文档字符串可以放在 ml_doc 字段中,这个字段属于 模块的方法表。如果你想让文档字符串和实际的函数“物理上靠近”,可以在函数定义上方放置字符串常量,并在方法表中引用它。

方法的文档字符串可以分配给 doc 字段,这个字段在 类型的成员表 中。

模块的文档字符串可以作为参数传递给 Py_InitModule3()Py_InitModule4() 函数。


更新: Python3 不再支持 Py_InitModule3(),这个方法已经被 PyModule_Create() 替代。

撰写回答