关于语法:Python if语句何时需要`pass`?

When is `pass` necessary in a Python if statement?

本问题已经有最佳答案,请猛点这里访问。

查看其他人为我当前正在处理的项目编写的一些代码,我经常会看到下面的表单中的if语句。

1
2
3
4
if condition:
    do this
else:
    pass

这里使用pass有什么原因吗?难道整个else声明不只是被遗漏了吗?你为什么要把这个部分和pass放在一起?同样,我也看到了:

1
2
3
4
if condition:
    pass
else:
    do this

为什么你要这样写代码,当你可以这样做的时候:

1
2
if not condition:
    do this

使用pass命令的原因是我缺少的,还是这些使用pass命令是多余的?


当您需要处理一个您不想做任何事情的情况时,可以使用它,例如:

1
2
3
4
5
6
7
8
try:
    os.mkdir(r'C:\FooBar')
except FileExistsError:
    pass
else:
    os.mkdir(r'C:\FooBar\Baz')
finally:
    print('Wazoooo')

pass通常是"待办事项"占位符。python不能有空的代码块,如if condition: (nothing)或空函数,所以您只需将pass放在那里使其有效,pass什么也不做。