PEP 257 says:



但是我似乎找不到实际实现此功能的任何代码。

我检查了Python 2.6随附的几个标准模块,甚至专门搜索了提到Guido名称的模块。
但即使rietveld代码检查工具的代码也不符合恕我直言(例如参见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

此多行文档字符串的前面没有空行,而后面的空行在右引号之外。
/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,则可以使用我编写的工具:
https://github.com/halst/pep257

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

可能大多数人都认为他们的文档字符串样式有意义,而且我还认为PEP257样式有些尴尬,但是使用它一段时间后,我爱上了它,
并认为这是编写文档字符串的最漂亮方法。我始终在各个方面都遵循PEP257,并编写了该工具,以便更多的人可以看到他们如何改善自己的风格。

例如,我对PEP8和pep8 tool有一个有趣的体验:当我第一次阅读PEP8时,我喜欢它并认为自己遵循了它,但是当我在pep8上尝试我的代码时
我距离PEP8多远,以及修正这些样式错误后代码的外观使我感到震惊。

希望人们对pep257有类似的经验,并从此以后开始快乐地遵循PEP257。

10-05 23:48