Unnecessary delete statement in functionยถ
ID: py/unnecessary-delete
Kind: problem
Severity: warning
Precision: high
Tags:
- maintainability
- useless-code
Query suites:
- python-security-and-quality.qls
Click to see the query in the CodeQL repository
Passing a local variable to a del statement results in that variable being removed from the local namespace. When exiting a function all local variables are deleted, so it is unnecessary to explicitly delete variables in such cases.
Recommendationยถ
Remove the del statement.
Exampleยถ
In the function below, the variable x is assigned a value that is used for a calculation, and is then explicitly deleted before the function exits. In this case, the delete statement can be removed without changing the behavior of the function.
def unnecessary_delete():
x = get_some_object()
do_calculation(x)
del x # This del statement is unnecessary
Referencesยถ
Python: The โdelโ statement.
Python/C API Reference Manual: Reference counts.