useless-expression (B018)
Derived from the flake8-bugbear linter.
What it does
Checks for useless expressions.
Why is this bad?
Useless expressions have no effect on the program, and are often included by mistake. Assign a useless expression to a variable, or remove it entirely.
Example
Use instead:
Notebook behavior
For Jupyter Notebooks, this rule is not applied to the last top-level expression in a cell.
This is because it's common to have a notebook cell that ends with an expression,
which will result in the repr
of the evaluated expression being printed as the cell's output.
Known problems
This rule ignores expression types that are commonly used for their side effects, such as function calls.
However, if a seemingly useless expression (like an attribute access) is needed to trigger a side effect, consider assigning it to an anonymous variable, to indicate that the return value is intentionally ignored.
For example, given:
Use instead: