Python中的pass
语句除填充空间外不执行任何操作。但是,在程序继续之前,我发现它对于指定一长串复杂的代码的结尾很有用:
...
if condition is True:
...
pass
...
基本上,使用C或Java这样的语言,与将}
放在自己的行上具有相同的效果。
类似地,我养成了习惯,在循环结束时用pass
替换continue
或在函数结束时用return
替换,否则这些函数不会返回任何内容,例如相同的原因-并更清楚地说明哪个代码块结束了:
def someFunc():
...
while someCondition is True:
# complicated things
...
continue
...
return
当代码间隔很窄或很宽时,或者代码占用大量垂直空间时,我认为将这些语句放在代码块的末尾可以使控制流程更清晰。我已经进行了一些搜索,但没有找到一个好的信息来说明这是好还是不好的风格(为此主题制作好的搜索关键字非常困难)。而且,PEP8对此一无所获。我希望能就此问题发表意见,并找到共识。
答案 0 :(得分:2)
功能的第一条规则是它们应该小。
功能的第二条规则是,它们应该小于。
简单胜于复杂。
可读性计数。
以任何语言编写代码时,都应该编写易于阅读和理解的小段代码(方法,循环,if等)。
遵循此规则,您将不会像您提到的那样出现个冗长,复杂的代码块,因此需要使用任何pass
,continue
或{ {1}}将消失。
如果到了要添加这些语句的地步-重构代码