Python 在哪里可以找到PEP257文档字符串约定的适当示例?

Python 在哪里可以找到PEP257文档字符串约定的适当示例?,python,coding-style,Python,Coding Style,: 在所有docstring前后插入一个空行(一行或多行) 多行)记录一个类--一般来说,该类的 方法通过一个空行相互分隔,并且 docstring需要从第一个方法偏移一个空行; 为了对称,在类标题和 文件串 但我似乎找不到任何真正实现这一点的代码 我检查了Python2.6提供的几个标准模块,甚至专门搜索了提到Guido名字的模块。 但即使是rietveld代码审查工具的代码也不符合要求(参见示例): 此多行DoScript以前没有空行,后面的空行在结束引号之外。 class _Helper(

:

在所有docstring前后插入一个空行(一行或多行) 多行)记录一个类--一般来说,该类的 方法通过一个空行相互分隔,并且 docstring需要从第一个方法偏移一个空行; 为了对称,在类标题和 文件串

但我似乎找不到任何真正实现这一点的代码

我检查了Python2.6提供的几个标准模块,甚至专门搜索了提到Guido名字的模块。 但即使是rietveld代码审查工具的代码也不符合要求(参见示例):

此多行DoScript以前没有空行,后面的空行在结束引号之外。

class _Helper(object):
    """Define the built-in 'help'.
    This is a wrapper around pydoc.help (with a twist).

    """

    def __repr__(self):
/usr/lib64/python2.6/site.py
中的此类在结束引号之前和之后没有空行,但在结束引号之前和之后都有空行

class _Helper(object):
    """Define the built-in 'help'.
    This is a wrapper around pydoc.help (with a twist).

    """

    def __repr__(self):
是否有可用于演示PEP 257的示例


提前感谢

这不是一个直接的答案,但是如果你想遵守PEP257,你可以使用我写的工具:

看到有多少代码(也在标准库中)甚至没有尝试遵守PEP257,我也感到震惊

也许,大多数人认为他们的docstring样式是有意义的,我也认为PEP257样式有点笨拙,但在使用了一段时间后,我爱上了它, 并且认为这是编写docstring最漂亮的方式。我总是在各个方面尽可能地遵循PEP257,并编写了该工具,以便更多的人能够看到如何改进他们的风格

举个例子,我对PEP8有一个有趣的经历:当我第一次读到PEP8时,我喜欢它,并认为我遵循它,但当我在PEP8上尝试我的代码时 我很震惊,我离PEP8有多远,在我修复了这些样式错误之后,我的代码看起来有多好


我希望人们会有类似的经历,并从此快乐地遵循PEP257。

据我所知,您链接到的文档中说:

在记录类的所有docstring(一行或多行)之后插入一个空行——一般来说,类的方法之间用一个空行隔开,docstring需要用一个空行与第一个方法偏移

(强调矿山)

因此,您给出的示例都是正确的,因为它们在docstring后面有一个空行,因此用一个空行分隔下一个方法声明。

这里是一些pep(Python增强建议)Python示例,我们首先选择与此示例最相似的版本。因此,我们必须提供函数描述、参数和返回类型

def foo(bar, spam, eggs):
        """
        Some function

        :param bar: parameter that requires description
        :param spam: parameter that requires description
        :param eggs:
        :return xyz: parameter description
        """
据介绍,google style包含一个关于python样式的优秀指南。这比PEP-257提供了更好的指导。以下链接可供参考:


“轮询”问题列表不在堆栈溢出主题上。此外,我不知道这与您试图解决的实际问题有什么关系。我感谢您所做的研究,当然可以找到官方文档字符串格式的示例,但不清楚这会带来什么好处。有一些不正确的docstring示例,其中一些可能甚至是由Guido编写的。如果你想写正确的,只需遵循指导原则(政治公众人物文件本身甚至给出了例子)。简言之,这里的重点是什么?为什么您需要(更多)这种格式的示例?@agf:这不是民意测验。我认为政治公众人物在某些方面并非100%清楚,我正在寻找澄清这些部分的例子。具体来说,我正在寻找一个与PEP匹配的类的docstring示例。halst的代码在类docstring前后显示空行,在docstring本身的末尾显示空行。这是我甚至没有考虑过的另一个选项。@iulius caesar:也许更具体的问题是什么被认为是“所有docstring前后的空行”。是在开场白/结束语之前还是之后?@Bram:我认为添加这样的细节可能有助于这个问题得到有用的答案。谢谢,这肯定会有所帮助。这已经表明你对政治公众人物的理解与我略有不同。@Bram有趣!你对政治公众人物的哪些部分有不同的理解?只是好奇。也许我的解释有误。在阅读你的pep257.py之前,我从来没有考虑过引号前后的空行。@Bram注意docstring前面的空行是用于类的。对于函数,它只适用于函数中由空行分隔的代码组。这似乎是一个有效的答案,那么为什么使用-1呢?
def sample_fun(n):
    """Calculate the square root of a number.

    Args:
        n: the number to get the square root of.
    Returns:
        the square root of n.
    Raises:
        TypeError: if n is not a number.
        ValueError: if n is negative.

    """
    pass