我刚开始使用 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'
当我输入一个整数时,代码会忽略该else:
语句并直接切换到finally:
. 显然这与while True:
顶部有关,但为什么会发生呢?