我将 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_1
as 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....”的字体是一样的。但是我更喜欢拿破仑风格,一切都更小,一开始没有灰线。
最后,在项目符号点之前删除空行也无济于事。它使情况变得更糟: