Python的try和except结构问题

img

为啥不是选B, except执行完之后,下面的return 5就不执行了吗?

return 是任何地方都能直接跳出函数体的语句,所以最后的 return 5 是永远也执行不到的。
然后是:
try:
s += num
这里的s是函数内部的局部变量,它与函数外的 s = 0 没有关系
所以执行s += num 会抛出错误的,因为它在try语句后会跳过错误,执行except后的语句return 0。

最终,本题应该选 A