我是Python初学者。我发现else
在for
-else
和while
-else
完全没有必要。因为for
和while
最终会运行到else
,我们可以使用通常的线路来代替。
例如:
for i in range(1, 5):
print i
else:
print 'over'
和
for i in range(1, 5):
print i
print 'over'
是一样的。
那么为什么Python有else
在for
-else
和while
-else
?
最佳答案
您对 for/else 的语义有误。 else 子句仅在循环完成时运行,例如,如果未遇到break 语句。
典型的 for/else 循环如下所示:
for x in seq:
if cond(x):
break
else:
print "Didn't find an x I liked!"
将“else”视为与循环体中的所有“if”配对。您的示例是相同的,但是混合了“break”语句,它们就不同了。
关于python - 为什么 "else"子句的目的是在 "for"或 "while"循环之后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55722755/