【发布时间】:2013-09-25 16:25:59
【问题描述】:
我找不到任何有关此详细信息的 PEP 参考。函数定义后必须有一个空行吗?
我应该这样做吗:
def hello_function():
return 'hello'
或者我应该这样做:
def hello_function():
return 'hello'
使用文档字符串时同样的问题也适用:
这个:
def hello_function():
"""
Important function
"""
return 'hello'
或者这个
def hello_function():
"""
Important function
"""
return 'hello'
编辑
正如 FoxMaSk 所评论的那样,这是 PEP 在空白行上所说的内容,但它没有说明这个细节。
空白行
用两个空格分隔顶级函数和类定义 行。
类中的方法定义由一个空格分隔 行。
可以(谨慎地)使用额外的空行来分隔 相关功能。一堆之间可以省略空行 相关的单行代码(例如一组虚拟实现)。
在函数中谨慎使用空行来表示逻辑部分。
Python 接受 control-L(即 ^L)换页符作为 空白;许多工具将这些字符视为页面分隔符,因此 您可以使用它们来分隔文件相关部分的页面。 请注意,某些编辑器和基于 Web 的代码查看器可能无法识别 control-L 作为换页符,并将在其位置显示另一个字形。
【问题讨论】:
-
我把它读作“你不要不要浪费空间的空行,除非这些罕见的例外之一适用”。来吧——将
def与代码分开真的提高了可读性吗? -
我绝对认为这是一个详尽的列表,列出了可以放置垂直空白的所有位置。话虽如此,我会根据它们的来源在导入之间放置一个空行。将核心 python 库、第 3 方库和本地库组合在一起。按此顺序。
标签: python coding-style styles pep