gpt4 book ai didi

python - 在 python 中为 while 循环设置 'else clause' 有什么好处?

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:22 25 4
gpt4 key购买 nike

当 while 循环中的条件变为 False 时,while 循环之后的任何代码都会执行。 python中while循环的'else子句'部分的代码也是一样的。那么在 while 循环中使用“else”有什么好处呢?

最佳答案

如果循环中有break 语句,

else 将不会执行。来自docs :

The while statement is used for repeated execution as long as an expression is true:

while_stmt ::=  "while" expression ":" suite
["else" ":" suite]

This repeatedly tests the expression and, if it is true, executes the first suite; if the expression is false (which may be the first time it is tested) the suite of the else clause, if present, is executed and the loop terminates.

A break statement executed in the first suite terminates the loop without executing the else clause’s suite. A continue statement executed in the first suite skips the rest of the suite and goes back to testing the expression.

(强调我的)顺便说一句,这也适用于 for 循环。它并不经常有用,但在有用时通常非常优雅。


我相信标准用例是当您在容器中搜索以查找值时:

for element in container:
if cond(element):
break
else:
# no such element

另请注意,在循环之后,element 将在全局范围内定义,这很方便。


我发现它违反直觉,直到我从一些邮件列表中听到一个很好的解释:

else suites always execute when a condition has been evaluated to False

因此,如果执行 while 循环的条件并发现为假,则循环将停止,else 套件将运行。 break 不同,因为它退出循环而不测试条件。

关于python - 在 python 中为 while 循环设置 'else clause' 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532770/

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