初识 return
相信每一个用过Python函数的童鞋, 肯定会用过return语句, return顾名思义, 就是用来返回值给调用者, 例如:
def test():
a = 2...if a > 2:
return 'more than'
return 'less than'
s = test()
print s
结果都是和第一个写法是一样的!...字节码处理参数最终的结果
在字节码中可以看到, 依次是SETUP_FINALLY 和 SETUP_EXCEPT, 这个对应的就是finally和try,虽然finally在try后面, 虽然我们通常帮他们看成一个整体...not try/except/finally handlers, you may need
to update the PyGen_NeedsFinalizing() function...retval
结论
所以, 我们应该能知道为什么当我们执行了return代码, 为什么finally的代码还会先执行了吧, 因为return的本质, 就是设置why和retval, 然后goto到一个大判断