gpt4 book ai didi

python - 为什么 "else"子句的目的是在 "for"或 "while"循环之后?

转载 作者:太空宇宙 更新时间:2023-11-03 21:00:40 26 4
gpt4 key购买 nike

我是Python初学者。我发现elsefor -elsewhile -else完全没有必要。因为forwhile最终会运行到else ,我们可以使用通常的线路来代替。

例如:

for i in range(1, 5):
print i
else:
print 'over'

for i in range(1, 5):
print i
print 'over'

是一样的。

那么为什么Python有elsefor -elsewhile -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”语句,它们就不同了。

同一想法的更长描述:http://nedbatchelder.com/blog/201110/forelse.html

关于python - 为什么 "else"子句的目的是在 "for"或 "while"循环之后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55722755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com