繁体   English   中英

为什么在python中的“try:”块中的return语句之后执行“finally:”块?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM