7

我将 sphinx autodoc 扩展与 sphinx.ext.napoleon 一起使用。我正在关注 numpydoc 样式指南,因为我认为它比 google 的更具可读性。但是,我注意到以下我无法解决的问题。

我有以下问题。是否可以在参数部分(或返回等)中允许有一个列表?我想要类似的东西:

更新根据史蒂夫皮尔西的回答,我已经删除了一些初始问题。这是python文件:

class Test:

def f(param_1, param_2):

    r"""
    This is a test docstring.

    Parameters
    ----------
    param_1 : pandas data frame
        This would be really cool to allow the following list and make
        it more readable:

        * **index:** Array-like, integer valued representing
          days. Has to be sorted and increasing.
        * **dtype:** float64. Value of temperature.
        * **columns:** location description, e.g. 'San Diego'
    param_2 : int
        nice number!
    """
    pass

不幸的是,这仍然给出了“这将是……”的字体太大并且没有放在param_1as for旁边的问题param_2

在此处输入图像描述

如果我删除项目符号列表,我会得到一个外观正确的输出。将上面的代码更改为:

class Test:

    def f(param_1, param_2):

        r"""
        This is a test docstring.

        Parameters
        ----------
        param_1 : pandas data frame
            This would be really cool to allow the following list and make
            it more readable: **index:** Array-like, integer valued representing
            days. Has to be sorted and increasing. **dtype:** float64. Value of temperature.
            **columns:** location description, e.g. 'San Diego'
        param_2 : int
            nice number!
        """
        pass

这导致以下正确的输出:

在此处输入图像描述

生成文档的 .rst 文件很简单:

.. automethod:: test.Test.f

如果我使用 numpydoc 而不是 sphinx.ext.napleon 似乎我得到了正确的输出:

在此处输入图像描述

至少“pandas data frame”和“This....”的字体是一样的。但是我更喜欢拿破仑风格,一切都更小,一开始没有灰线。

最后,在项目符号点之前删除空行也无济于事。它使情况变得更糟:

在此处输入图像描述

4

1 回答 1

0

看起来您没有遵循示例 NumPy Style Python Docstrings

  • 参数名称中不应包含空格。
  • Python类型应该是有效的(我不确定“熊猫数据框”
  • 上面不能有空行param 2
于 2017-10-26T09:52:54.890 回答