是否有可能在sphinx.ext.napoleon中有一个参数列表?

时间:2017-10-24 15:05:14

标签: python-sphinx sphinx-napoleon

我正在使用sphinx autodoc扩展和sphinx.ext.napoleon。我跟随numpydoc风格指南,因为我觉得它比google的更具可读性。但是,我注意到以下问题我无法修复。

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

更新根据Steve Piercy的回答,我已删除了一些初步问题。这是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_1旁边param_2

enter image description here

如果我删除子弹列表,我会得到一个正确的输出。将上述代码更改为:

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

导致以下正确输出:

enter image description here

生成文档的.rst文件只是:

.. automethod:: test.Test.f

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

enter image description here

至少是" pandas数据框的字体"和"这......"是一样的。然而,我更喜欢拿破仑风格,一切都较小,一开始没有灰线。

最后,在项目符号点之前删除空白行也没有帮助。这让事情变得更糟:

enter image description here

1 个答案:

答案 0 :(得分:0)

看起来您没有关注example NumPy Style Python Docstrings

  • 参数名称中不能有空格。
  • Python类型应该有效(我不确定" pandas数据框"
  • param 2
  • 上方不应有空行