Sphinx无法处理类定义中的函数赋值

时间:2014-08-06 16:19:34

标签: python class python-sphinx autodoc

我正在使用Sphinx以及autodoc和numpydoc扩展来生成相当复杂的包的文档。我在自动生成中遇到了一个问题:

假设我有一个包含两个模块calculator.pymath.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) 

1 个答案:

答案 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