needless-bool (SIM103)
Added in v0.0.214 · Related issues · View source
Derived from the flake8-simplify linter.
Fix is sometimes available.
What it does
Checks for if statements that can be replaced with bool.
Why is this bad?
if statements that return True for a truthy condition and False for
a falsy condition can be replaced with boolean casts.
Example
Given:
Use instead:
Or, given:
Use instead:
Fix safety
This fix is marked as unsafe because it may change the program’s behavior if the condition does not
return a proper Boolean. While the fix will try to wrap non-boolean values in a call to bool,
custom implementations of comparison functions like __eq__ can avoid the bool call and still
lead to altered behavior.