[英]Why is a `return` statement inside of except block silently not executed if finally block contains a return statement?
[英]Why "finally:" block is executed after the return statement in a "try:" block in python?
按照我的理解:return就是返回一个值的意思。
一个例子,python1 脚本:
def func():
try:
print 98
return 'ok'
finally:
print 98
print fun()
脚本的输出是:
98
98
好的
所以我的问题是为什么脚本的输出不是:
98
好的
98
为什么最后是OK行的输出?
因为当你使用
try:
#some code
finally:
#some other code
无论在try
块中发生什么, finally
块都保证在try
块之后执行。 即使没有引发异常。
finally
一般用于释放资源、清理变量等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.