猿问

为什么在Python中“尝试/最终”与“返回”会发生奇怪的交互?

有人可以解释一下为什么它会如此工作吗?的Python 3.6.3


In [1]: def test():

   ...:     try:

   ...:         return 1

   ...:     finally:

   ...:         return 2

   ...:     


In [2]: test()

Out[2]: 2

编辑: 这并不完全重复,因为链接的问题在他们try :和我的示例使用中引起了异常,return而我希望这种情况可以正常工作。该函数看起来应该返回1但返回2-因此基本上return 1被忽略。finally吃掉任何上升的例外情况做得很好,但它也应该吃掉收益吗?


手掌心
浏览 133回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答