当使用 sphinxautodoc
扩展创建文档时,我如何记录一个类实例(而不是类本身),就好像它是一个函数一样?类__call__
定义了一个方法。
问问题
341 次
2 回答
1
可以使用 sphinx 扩展来解决问题。对我来说,以下就足够了:
在
conf.py
:sys.path
在中添加适当的路径conf.py
- 替换为列表中
sphinx.ext.autodoc
的新模块名称extensions
在新模块中:
- 进口
sphinx.ext.autodoc
- 创建一个子类
.autodoc.FunctionDocumenter
- 创建调用然后调用
setup(app)
的函数.autodoc.setup()
app.add_autodocumenter(SubclassName)
- 进口
请注意,这将替换 documenter 的功能,因此您需要使其对它们有用。可以通过使用唯一objtype
字符串定义类常量作为值来避免该问题,但这将需要更多的工作。关心常规功能更容易。
如果有人感兴趣,代码就在这里。
于 2013-03-17T16:44:43.507 回答
0
具体我不熟悉autodoc
,但你可以试试这个:
class MyClass(object):
...
def __call__(self):
...
c = MyClass()
"""
this is a function-like object.
"""
c2 = MyClass()
"""
this is another function-like object.
"""
或这个:
#: this is a function-like object.
c = MyClass()
于 2013-03-16T20:52:30.993 回答