跳到内容

useless-else-on-loop (PLW0120)

v0.0.156 中添加 · 相关问题 · 查看源码

源自 Pylint 代码检查工具。

有时提供修复。

作用

检查循环中没有 break 语句却使用了 else 子句的情况。

为什么这不好?

当循环包含 else 语句时,如果循环是“正常”结束(即没有遇到 break),则会执行 else 子句中的代码。

如果循环总是“正常”结束(即包含任何 break),那么 else 子句就是多余的,因为 else 子句中的代码总是会被执行。

在这种情况下,可以将 else 子句中的代码直接移至循环外部,并删除该 else 子句。

示例

for item in items:
    print(item)
else:
    print("All items printed")

建议改为

for item in items:
    print(item)
print("All items printed")

参考