Mat*_*ijs 5 python type-hinting python-sphinx sphinx-napoleon sphinx-apidoc
我目前正在尝试使用Sphinx实现自动文档创建(使用扩展名sphinx-apidoc和napoleon)。这很好用,但是如果将typehints(PEP484约定)自动添加到params列表中会更好。
我想知道这是否可能。
更具体地说:(从拿破仑的例子)
def function_with_pep484_type_annotations(param1: int, param2: str) -> bool:
"""Example function with PEP 484 type annotations.
Args:
param1: The first parameter.
param2: The second parameter.
Returns:
The return value. True for success, False otherwise.
"""
Run Code Online (Sandbox Code Playgroud)
如下所示:
参数列表包含所有参数,但不附加类型。可以手动添加它们,但是当决定更改签名时,这可能会带来将来的问题。
手动添加类型的示例:
def function_with_pep484_type_annotations(param1: int, param2: str) -> bool:
"""Example function with PEP 484 type annotations.
Args:
param1 (int): The first parameter.
param2 (str): The second parameter.
Returns:
The return value. True for success, False otherwise.
"""
Run Code Online (Sandbox Code Playgroud)
呈现为:
现在,您可以使用sphinx-autodoc-typehints扩展。在上面的上一个示例中编写时,它将自动将类型添加到sphinx文档字符串中。
要安装,只需执行以下操作:
$ pip install sphinx-autodoc-typehints
Run Code Online (Sandbox Code Playgroud)
在之后添加'sphinx_autodoc_typehints'到extensions列表中,并确保您还添加到中。conf.py 'sphinx.ext.napoleon'napoleon_use_param = Trueconf.py