跳到内容

useless-else-on-loop (PLW0120)

源自 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")

参考