我可以运行下面的python脚本而不会出错.
for n in range(3):
print n
else:
print "done"
Run Code Online (Sandbox Code Playgroud)
但我对其他没有匹配的问题感到困惑.
它没有任何意义.
有人可以解释为什么这有效吗?
该else条款for并while 仅在循环正常退出执行,即break永远不会运行.
for i in range(20):
print i
if i == 3:
break
else:
print 'HAHA!'
Run Code Online (Sandbox Code Playgroud)
并且只有在没有异常发生时才执行该else子句try.
try:
a = 1 / 2
except ZeroDivisionError:
do_something()
else:
print '/golfclap'
Run Code Online (Sandbox Code Playgroud)