在Python文档字符串中,是否习惯于对齐--';参数列表中有什么?

在Python文档字符串中,是否习惯于对齐--';参数列表中有什么?,python,Python,例如: def foo(length, width): """Short desc. Arguments: length -- A desc. width -- A desc. """ 请注意,我是如何在“宽度”后面添加了一个额外的空格的。我认为这是一个选择问题 许多人实际上在他们的docstring中使用,然后使用生成文档。在这种情况下,可能会有一些要求,但我不认为虚线对齐是其中之一 我不喜欢对齐的想法,因为一旦你添加了需要重新对齐多行的内容,就

例如:

def foo(length, width):
    """Short desc.

    Arguments:

    length -- A desc.
    width  -- A desc.
    """

请注意,我是如何在“宽度”后面添加了一个额外的空格的。

我认为这是一个选择问题

许多人实际上在他们的docstring中使用,然后使用生成文档。在这种情况下,可能会有一些要求,但我不认为虚线对齐是其中之一


我不喜欢对齐的想法,因为一旦你添加了需要重新对齐多行的内容,就会使差异变得非常丑陋。

我不认为这是一个惯例。所有关于函数的docstring的说法都是

函数或方法的docstring应该总结其行为,并记录其参数、返回值、副作用、引发的异常以及何时可以调用它的限制(如果适用的话)。应指明可选参数。应该记录关键字参数是否是接口的一部分

政治公众人物中给出的唯一例子也没有说明这一问题:

def complex(real=0.0, imag=0.0):
    """Form a complex number.

    Keyword arguments:
    real -- the real part (default 0.0)
    imag -- the imaginary part (default 0.0)

    """
    if imag == 0.0 and real == 0.0: return complex_zero
    ...
我通常会对齐破折号,但我认为没有一般惯例。

我喜欢您的示例(对齐--),并认为它使文档字符串更容易一眼就能看懂

这方面没有PEP8风格的标准,所以你最终做什么很大程度上取决于你的品味。也就是说,在标准库中有一些先例。例如,以下内容取自的文档字符串:


我的一般经验法则是不做这样的事情,因为这会让维护变得痛苦。这是一个稍微不同的问题,但我知道Guido不喜欢在一系列作业中对齐等号,所以我能想到的唯一模糊对齐的先例是相反的。如果所涉及的长度范围不太宽,我倾向于对齐它们[docstring arg names],通过查看标准库的源代码可以给出一些更好的示例。虚线没有对齐。
class POP3:

    """This class supports both the minimal and optional command sets.
    Arguments can be strings or integers (where appropriate)
    (e.g.: retr(1) and retr('1') both work equally well.

    Minimal Command Set:
            USER name               user(name)
            PASS string             pass_(string)
            STAT                    stat()
            LIST [msg]              list(msg = None)
            RETR msg                retr(msg)
            DELE msg                dele(msg)
            NOOP                    noop()
            RSET                    rset()
            QUIT                    quit()

    """