我在python中发现了一段有趣的代码:
def x(cond):
if cond:
pass
print('Still running!')
x(True)
我希望这不会打印任何东西,但它打印了
Still running!
。这里发生了什么?
根据 Python 文档:
是一个空操作——执行时,什么也没有发生。pass
来源 - https://docs.python.org/3/reference/simple_stmts.html#pass
因此,
pass
不会执行任何操作,pass
之后的所有语句仍将被执行。
思考这个问题的另一种方式是
pass
相当于任何虚拟语句:
def x(cond):
if cond:
"dummy statement"
print('Still running!')
pass 并不意味着“离开该功能”,它只是意味着......什么都没有。将其视为一个占位符,表示您没有在那里执行任何操作(例如,如果您尚未实现某些操作)。 https://docs.python.org/3.5/tutorial/controlflow.html#pass-statements
如果要退出该功能,只需
return
或return None
顺便说一句,其他有用的语句是
break
退出最新的循环和 continue
退出循环的当前迭代并直接进入下一个循环。
Pass 不执行任何操作。当程序到达那里时,它会说“好吧,跳过这个!”。
Pass可以用来提前定义函数。例如,
def function_somebody_is_going_to_write_later():
pass
def function_I_am_going_to_write_later():
pass
这样您就可以编写一个包含其他人稍后可能会使用的函数的文件,并且您现在仍然可以执行该文件。