Function 为什么在return语句之后执行Finally?

Function 为什么在return语句之后执行Finally?,function,python-2.7,return,try-finally,Function,Python 2.7,Return,Try Finally,为什么上面代码1的输出是? 虽然从逻辑上讲,控件将函数保留在return语句中。 “在离开try之前,始终执行finally子句 语句,无论是否发生异常。当 已在try子句中发生,并且未由Exception处理 子句(或已发生在除外或其他条款中),它是 在执行finally子句后重新提出。finally 当合同的任何其他条款出现时,第条也将在“退出时”执行 try语句通过break、continue或return语句留下 “在离开try之前,始终执行finally子句 语句,无论是否发生异常。

为什么上面代码1的输出是? 虽然从逻辑上讲,控件将函数保留在return语句中。

“在离开try之前,始终执行finally子句 语句,无论是否发生异常。当 已在try子句中发生,并且未由Exception处理 子句(或已发生在除外或其他条款中),它是 在执行finally子句后重新提出。finally 当合同的任何其他条款出现时,第条也将在“退出时”执行 try语句通过break、continue或return语句留下

“在离开try之前,始终执行finally子句 语句,无论是否发生异常。当发生异常时 已在try子句中发生,并且未由Exception处理 子句(或已发生在除外或其他条款中),它是 在最终条款执行后重新提出。最后 当合同的任何其他条款出现时,第条也将在“退出时”执行 try语句通过break、continue或return语句留下


在离开
try
块之前,始终执行
finally
部分<代码>返回0将离开
try
块。因此,首先执行
finally
部分并返回1


在离开
try
块之前,始终执行
finally
部分<代码>返回0将离开
try
块。因此,首先执行
finally
部分并返回1

def Test():
    try:
        return 0
    finally:
        return 1
x  = Test()
print(x)