最终在python中的try子句的break或continue或return语句之前阻塞执行,然后为什么此代码的输出不同
def bool_return():
try:
return print("foo")
except:
pass
finally:
return "ola"
print(bool_return())
输出为:
foo ola
为什么?
返回某件事是函数可以做的最后一件事。返回某些内容后,Python将继续执行之前或结束脚本之前的操作。
如果Python立即返回,则函数结束。无论发生什么情况,finally块都被认为是运行的,因此即使原始回报丢失,它也必须首先运行。
finally块是我们编写用于关闭与其他服务器的连接的代码的东西。如果万一我们从语句中返回,我们将打开连接,以便在移出函数之前执行该连接。我们可以检查是否在final块中写了一个return并尝试执行其中的try块]