try-catch-finally遇到的一个“尴尬”的事情


def test(x):
    try:
        return 100 / x
    except ZeroDivisionError as zde:
        return 0
    finally:
        return 1
test(0)

上述代码是在实际中用到的一个简化版本,根据传入的参数x,来获取100/x的值,本以为有异常输出0,没有异常输出对应的100 / x的值,但是最后始终返回1,因为finally无论发生什么都会被执行。
已邀请:

要回复问题请先登录注册