needless-bool (SIM103)
源自 flake8-simplify 代码检查器。
有时提供修复。
作用
检查可以用 bool
替换的 if
语句。
为什么这不好?
对于真值条件返回 True
,对于假值条件返回 False
的 if
语句可以用布尔类型转换代替。
示例
给定
建议改为
或者,给定
建议改为
修复安全性
此修复被标记为不安全,因为它可能会改变程序的行为,如果条件没有返回正确的布尔值。虽然该修复会尝试将非布尔值包装在对 bool 的调用中,但比较函数(如 __eq__
)的自定义实现可以避免 bool 调用,并且仍然会导致行为改变。