美文网首页每周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