我理解这个结构是如何工作的:
for i in range(10):
print(i)
if i == 9:
print("Too big - I'm giving up!")
break
else:
print("Completed successfully")
但是我不明白为什么这里使用else
作为关键字,因为它表明有问题的代码仅在for
块未完成的情况下运行,这与它的作用相反!不管我怎么想,我的大脑都无法从for
语句无缝地从else
块前进。对我来说,continue
或continuewith
会更有意义(我正在努力训练自己这样阅读它)。
我想知道Python程序员是如何在他们的脑海中阅读这个结构的(或者大声地,如果你喜欢的话)。也许我错过了一些让这样的代码块更容易破译的东西?
这个问题是关于底层设计决策的,即为什么能够编写此代码是有用的。另请参阅Python的Else子句,了解有关语法含义的具体问题。