什么是 for/while-else 子句的解释:https://www.w3schools.com/python/gloss_python_for_else.asp
我认为有时这种结构很有用,就像这个伪代码一样,它确保
doWork
始终执行一次:
for (var item in collection) {
if (someCondition(item)) {
doWork(item)
break
}
}
else {
doWork(defaultItem)
}
如果没有 for-else,也许我将不得不使用标志变量、goto 或其他东西。这些并不优雅。 For-else 子句似乎也不难实现。现代编程语言通常带有大量语法糖,但它们从不包含 for-else 子句。为什么?
for/while-else 结构有时可以减少对标志或附加逻辑的需求,但它也会引入歧义并降低代码清晰度。 此外,引入 for/while-else 结构会增加语言的语法复杂性。
一些替代方案可以是: