sub*_*com 10 python docstring python-c-api python-extensions
也许是一个愚蠢的问题:如何__init__在编写C扩展时为特殊函数指定docstring ?对于普通方法,方法表提供了文档字符串.当我尝试帮助时,会显示以下自动生成的文档(myclass):
__init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature
Run Code Online (Sandbox Code Playgroud)
但这是我想要覆盖的.
我认为最常见的做法就是将各种函数的定义粘贴进去tp_doc,然后就这样了。然后您可以按照它的说明进行操作并查看对象的文档。这就是整个标准库中发生的情况。
您实际上没有任何选择__doc__在各种插槽(等)上进行写入,因为当您调用时tp_init它们被 a 包裹,并且 a 上的文档字符串是只读的。wrapper_descriptorPyType_Readywrapper_descriptor
我认为可以跳过使用插槽并将您的方法(例如__init__)添加到您的MemberDefs,但我从未尝试过。