小编hzh*_*mhf的帖子

如何在长函数签名中进行换行并在 Sphinx autodoc 中对其进行漂亮的格式化

我有一个带有类型提示的长签名的函数,例如

def set_parameters(
        tokenizer: Union[None, "Tokenizer", str] = None,
        vocab: Optional["Vocab"] = None,
        vocab_from: Optional[Dict[str, str]] = None,
        max_sent_length: Optional[int] = None,
        max_turn_length: Optional[int] = None,
        convert_to_lower_letter: Optional[bool] = None,
        weak=False) -> "FieldContext":
Run Code Online (Sandbox Code Playgroud)

我使用 Sphinx autodoc 生成文档字符串。

.. autofunction:: set_parameters
Run Code Online (Sandbox Code Playgroud)

然后,Sphinx 将忽略换行符并在一行中描述该函数。

set_parameters(tokenizer: Union[None, Tokenizer, str] = None, vocab: Optional[Vocab] = None, vocab_from: Optional[Dict[str, str]] = None, max_sent_length: Optional[int] = None,    max_turn_length: Optional[int] = None, convert_to_lower_letter: Optional[bool] = None, weak=False) -> FieldContext:
Run Code Online (Sandbox Code Playgroud)

它非常丑陋且难以阅读。我想要的是它要么跟随我的代码中的换行符,要么自动执行一些换行符。有什么办法可以实现吗?

python pretty-print signature python-sphinx autodoc

7
推荐指数
1
解决办法
1087
查看次数

标签 统计

autodoc ×1

pretty-print ×1

python ×1

python-sphinx ×1

signature ×1