← 返回首页
Unnecessary delete statement in function — CodeQL query help documentation CodeQL docs
CodeQL documentation
CodeQL resources

Unnecessary delete statement in function

ID: py/unnecessary-delete Kind: problem Security severity: 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