跳到内容

if-expr-with-true-false (SIM210)

源自 flake8-simplify 代码检查器。

有时提供修复。

作用

检查可以被 bool() 调用替换的 if 表达式。

为什么这不好?

对于真值条件评估为 True ,对于假值条件评估为 Falseif 表达式可以被 bool() 调用替换,这更加简洁易读。

示例

True if a else False

建议改为

bool(a)

修复安全性

此修复被标记为不安全,因为它可能会改变程序的行为,如果条件没有返回正确的布尔值。虽然该修复将尝试将非布尔值包装在 bool 调用中,但像 __eq__ 这样的比较函数的自定义实现可以避免 bool 调用,并且仍然会导致行为改变。此外,修复可能会删除注释。

参考