我刚刚开始使用Python 2.7,我不明白为什么会发生什么:
在下面的代码中,来自python 2.7.2教程的示例的装饰版本,我得到了一个意想不到的结果:
while True:
try:
x = int(raw_input("Please enter a number: "))
break
except ValueError:
print "Oops! That was not a valid number. Try again..."
else:
print 'Thanks,',x,'is indeed an integer'
finally:
print 'all done, bye'
Run Code Online (Sandbox Code Playgroud)
当我输入一个整数时,代码会忽略该else:语句并直接切入finally:.显然它与while True:顶部有关但为什么会发生?