最好最准确的思考方式
pass
是一种明确告诉翻译什么也不做的方法。以同样的方式执行以下代码:
def foo(x,y):
return x+y
意思是“如果我调用函数foo(x,y),将标签x和y所代表的两个数字相加并返回结果”,
def bar():
pass
意思是“如果我调用函数bar(),什么也不做。”
其他的答案是非常正确的,但是对于一些不涉及占位符的事情也是有用的。
例如,在我最近编写的一段代码中,有必要对两个变量进行除法,除数可能为零。
c = a / b
很明显,如果b为零,将产生一个零分错误。在这种特殊情况下,在b为零的情况下,将c保留为零是所需的行为,因此我使用了以下代码:
try:
c = a / b
except ZeroDivisionError:
pass
另一个不太标准的用法是为调试器放置断点。例如,我想要一些代码在for的第20次迭代中进入调试器…在声明中。所以:
for t in range(25):
do_a_thing(t)
if t == 20:
pass
在传递时使用断点。