首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在哪里可以找到PEP 257文档字符串公约的适当示例?

在哪里可以找到PEP 257文档字符串公约的适当示例?
EN

Stack Overflow用户
提问于 2012-04-04 19:16:06
回答 3查看 9K关注 0票数 14

PEP 257说

在记录一个类的所有docstring (一行或多行)之前和之后插入一个空行--一般来说,类的方法由一个空行分隔开来,而docstring需要用空行与第一个方法相抵消;为了对称,在类标头和docstring之间放置一个空行。

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

我检查了Python2.6提供的几个标准模块,甚至专门搜索提到Guido名称的模块。但是,即使是rietveld代码审查工具的代码也不符合IMHO的要求(例如,请参见http://code.google.com/p/rietveld/source/browse/upload.py):

代码语言:javascript
运行
复制
class CondensedHelpFormatter(optparse.IndentedHelpFormatter):
   """Frees more horizontal space by removing indentation from group
      options and collapsing arguments between short and long, e.g.
      '-o ARG, --opt=ARG' to -o --opt ARG"""

   def format_heading(self, heading):
     return "%s:\n" % heading

此多行docstring在“前”中没有空行,“后”则位于“结束引号”之外。

来自/usr/lib64/python2.6/site.py的该类在结束引号之前和之后没有空行,而是有空行。

代码语言:javascript
运行
复制
class _Helper(object):
    """Define the built-in 'help'.
    This is a wrapper around pydoc.help (with a twist).

    """

    def __repr__(self):

是否有演示PEP 257的例子?

提前感谢

EN

回答 3

Stack Overflow用户

发布于 2012-04-08 19:35:14

不是直截了当的回答,但如果你想遵守PEP257,你可以使用我写的工具:https://github.com/halst/pep257

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

也许,大多数人认为他们的docstring风格是合理的,我也认为PEP257风格有些尴尬,但是使用了一段时间后,我爱上了它,并且认为它是编写文档字符串的最漂亮的方式。我总是在每个方面都遵循PEP257,并编写了这个工具,以便让更多的人看到他们如何改进自己的风格。

举个例子,我对PEP8和pep8工具有过一次有趣的体验:当我第一次阅读PEP8时,我喜欢它,并认为我遵循它,但当我在pep8上尝试我的代码时,我感到震惊的是,我离PEP8有多远,以及我的代码在修复这些样式之后表现得有多好--错误。

我希望人们能有类似的pep257体验,并从此开始愉快地跟随PEP257。

票数 10
EN

Stack Overflow用户

发布于 2015-03-04 12:23:59

据我所见,你链接到的文件说:

在文档一个类的所有文档字符串(单行或多行)之后插入一个空行 --一般来说,类的方法由一个空行分隔开来,并且文档字符串需要用空行与第一个方法相抵消。

(强调地雷)

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

票数 0
EN

Stack Overflow用户

发布于 2020-06-16 11:51:30

下面是一些pep() python示例示例,我们首先选择要使用的版本,比如这个示例与pep-8非常相似。所以我们必须提供函数描述,parm和返回类型..。

代码语言:javascript
运行
复制
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
        """

根据谷歌的风格,包含了一个很好的蟒蛇样式指南。这提供了比PEP 257更好的指导,下面是参考链接:谷歌风格指南

代码语言:javascript
运行
复制
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
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10017776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档