python try.except.finally中return问题

请看下面的代码,输出是什么呢?

def test1():
    try:
        x = 2/0
    except:
        print('except')
        return
    finally:
        print('finally')
    print('done')
    return

test1()

 

A. except

B. except   finally

C. except   finally   done

那么答案究竟是什么呢?

正确答案:C

 

不知道你答对了吗

可以看出来

python的try.except.finally中的return可能并不像你想的那样,因为finally块是肯定会被执行的

总结

try和except中return语句设定的返回值,可以在finally块中被修改,谨慎使用return

你可能感兴趣的:(python)