ふと気になったので、やってみた。Python2.7とPython3.4で確認。
try節とfinally節でreturn
def f():
try:
return "try"
finally:
return "finally"
print(f())
⇒finally
except節とfinally節でreturn
def f():
try:
raise ValueError
except ValueError:
return "except"
finally:
return "finally"
print(f())
⇒finally
たぶん使うことはないけど。知らなかった。