PEP 257说:
在记录一个类的所有docstring (一行或多行)之前和之后插入一个空行--一般来说,类的方法由一个空行分隔开来,而docstring需要用空行与第一个方法相抵消;为了对称,在类标头和docstring之间放置一个空行。
但我似乎找不到任何真正实现这一点的代码。
我检查了Python2.6提供的几个标准模块,甚至专门搜索提到Guido名称的模块。但是,即使是rietveld代码审查工具的代码也不符合IMHO的要求(例如,请参见http://code.google.com/p/rietveld/source/browse/upload.py):
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
的该类在结束引号之前和之后没有空行,而是有空行。
class _Helper(object):
"""Define the built-in 'help'.
This is a wrapper around pydoc.help (with a twist).
"""
def __repr__(self):
是否有演示PEP 257的例子?
提前感谢
发布于 2012-04-08 19:35:14
不是直截了当的回答,但如果你想遵守PEP257,你可以使用我写的工具:https://github.com/halst/pep257
我也震惊地看到,有多少代码(也在标准库中)甚至没有尝试遵守PEP257。
也许,大多数人认为他们的docstring风格是合理的,我也认为PEP257风格有些尴尬,但是使用了一段时间后,我爱上了它,并且认为它是编写文档字符串的最漂亮的方式。我总是在每个方面都遵循PEP257,并编写了这个工具,以便让更多的人看到他们如何改进自己的风格。
举个例子,我对PEP8和pep8工具有过一次有趣的体验:当我第一次阅读PEP8时,我喜欢它,并认为我遵循它,但当我在pep8上尝试我的代码时,我感到震惊的是,我离PEP8有多远,以及我的代码在修复这些样式之后表现得有多好--错误。
我希望人们能有类似的pep257体验,并从此开始愉快地跟随PEP257。
发布于 2015-03-04 12:23:59
据我所见,你链接到的文件说:
在文档一个类的所有文档字符串(单行或多行)之后插入一个空行 --一般来说,类的方法由一个空行分隔开来,并且文档字符串需要用空行与第一个方法相抵消。
(强调地雷)
因此,您给出的示例都是正确的,因为它们在docstring之后有一个空行,从而用空行分隔下一个方法声明。
发布于 2020-06-16 11:51:30
下面是一些pep() python示例示例,我们首先选择要使用的版本,比如这个示例与pep-8非常相似。所以我们必须提供函数描述,parm和返回类型..。
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更好的指导,下面是参考链接:谷歌风格指南
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
https://stackoverflow.com/questions/10017776
复制相似问题