def divide(x, y):
try:
result = x / y
return result
except ZeroDivisionError:
print("division by zero!")
finally:
print("executing finally clause")
return 0
print(divide(2, 1))
try中有retrun,finally中也有renturn
猜猜代码的执行结果是什么?
答案是
executing finally clause
0
Process finished with exit code 0
返回一直在我的脑海里都是直接结束函数执行的,但是在这种情况下,try里即使执行了return,程序还是会执行finally中的代码,并以finally里的返回值返回。
经验总结:
不宜乱写return