我正在使用Sphinx以及autodoc和numpydoc扩展来生成相当复杂的包的文档。我在自动生成中遇到了一个问题:
假设我有一个包含两个模块calculator.py
和math.py
的包。
在calculator.py
内,我定义了一个类,它将math.py
模块中的函数指定为标准变量:
class Calculation(object):
def some_calculation(some_variable,calculate=math.multiplication)
在我的sphinx文档中,我使用类似于
的autoclass扩展来包含此类.. autoclass:: some_package.calculator.Calculation
:members:
在我的文档中,该函数现在显示为指针,而不是名称:
some_calculation(some_variable,calculate=<function multiplication at 0x2b8882ef7f50>)
这是什么,我可以在Sphinx配置中进行更改,以便我的输出看起来像:
some_calculation(some_variable,calculate=math.multiplication)
答案 0 :(得分:1)
将文档字符串添加到some_calculation
,其中第一行是您想要的签名:
class Calculation(object):
def some_calculation(self, some_variable, calculate=math.multiplication):
"""some_calculation(some_variable, calculate=math.multiplication)
More text...
"""
...
参考:http://sphinx-doc.org/ext/autodoc.html#confval-autodoc_docstring_signature