美文网首页每周500字每天写500字每天写1000字
python 9:清理操作什么时候执行?

python 9:清理操作什么时候执行?

作者: 金石明镜 | 来源:发表于2019-11-09 21:05 被阅读0次

我们知道,清理操作是在执行try和except块之后执行。无论前面执行的是哪一块,都要去执行finally块的语句,有一个重点:finally块的语句在最后执行。

但是,如果前面两个块中,有return语句会怎么样?那样是不是就不能执行finally块中的语句?

看下面的程序。

def invert(x):

    try:

        return 1 / x

    except ZeroDivisionError:

        return 'error1'

    finally:

        print('invert(%s) done' % x)

例1:

>>> invert(21)

invert(21) done

0.047619047619047616

例2:

>>> invert(0)

invert(0) done

'error1'

从执行的结果来看,是先执行了finally块的语句,再去执行return语句。

也就是说,return语句,还是要在finallyf块之后执行。当然try和except块的其它语句,要在finally块之前执行。

相关文章

网友评论

    本文标题:python 9:清理操作什么时候执行?

    本文链接:https://www.haomeiwen.com/subject/jjanbctx.html