gpt4 book ai didi

python - 如何在 Python C 扩展中为 __init__ 指定文档字符串

转载 作者:太空狗 更新时间:2023-10-29 19:29:43 24 4
gpt4 key购买 nike

也许是个愚蠢的问题:在编写 C 扩展时,如何为 __init__ 等特殊函数指定文档字符串?对于普通方法,方法表提供了文档字符串。当我尝试 help(myclass) 时,会显示以下自动生成的文档:

  __init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature

但这是我想要覆盖的。

最佳答案

我认为最常见的做法是将各种函数的定义粘贴到 tp_doc 中,然后就这样了。然后你可以按照它说的去做,看看你的对象的文档。这就是整个标准库中发生的事情。

您真的没有任何选择可以在各种插槽(tp_init 等)上编写 __doc__,因为它们被 wrapper_descriptor< 包装 当你调用 PyType_Ready 时,wrapper_descriptor 上的文档字符串是只读的。

我认为可以跳过使用插槽并将您的方法(例如 __init__)添加到您的 MemberDefs,但我从未尝试过。

关于python - 如何在 Python C 扩展中为 __init__ 指定文档字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11913492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com