我最近注意到一些人在缩进代码块结尾时使用 pass
关键字,例如:
def f():
for i in range(10):
do_something(i)
pass
pass
我不明白为什么要这样做。它有什么优势吗?
我知道 pass
关键字并没有实际作用,等同于其他语言中的 { }
。我的问题更多是关于惯例的。例如,也许人们喜欢在长代码块的末尾加上一些标记。
我最近注意到一些人在缩进代码块结尾时使用 pass
关键字,例如:
def f():
for i in range(10):
do_something(i)
pass
pass
我不明白为什么要这样做。它有什么优势吗?
我知道 pass
关键字并没有实际作用,等同于其他语言中的 { }
。我的问题更多是关于惯例的。例如,也许人们喜欢在长代码块的末尾加上一些标记。
顶层函数和类定义之间应有两个空行。
第二个pass
可以省略。
但是PEP8也指出:
可以使用额外的空行(适度地) 来分隔一组相关的函数。
因此我更倾向于使用pass
。
没有优势。如果函数有主体,添加pass
不会起到任何作用。即使没有主体,这个关键字也无用,只是帮助解析器知道空主体是故意的。
在实际代码中,通常最好使用文档字符串而不是pass
来表示有意为空的代码:
class MyExtraException(Exception):
"""Just another exception"""