CodeQL 文档

未使用的局部变量

ID: py/unused-local-variable
Kind: problem
Security severity: 
Severity: recommendation
Precision: very-high
Tags:
   - maintainability
   - useless-code
   - external/cwe/cwe-563
Query suites:
   - python-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

定义了(通过赋值)但从未使用过的局部变量。

有时需要一个从未使用过的变量。这些未使用的变量应该具有独特的名称,以便代码的读者清楚地知道它们是故意不使用的。最常见的约定是将变量命名为_,或以unused_unused开头。

该查询接受以下名称,用于表示有意不使用的变量

  • 任何完全由下划线组成的名称。

  • 任何包含unused的名称。

  • 名称dummyempty

  • 任何形式为__xxx__的“特殊”名称。例如x, y = func()中定义的变量被集体处理。如果它们都未使用,则会报告此问题。否则,它们都被视为已使用。

建议

如果该变量是为了文档目的或其他原因而故意不使用的,则将其名称更改为表示它未被使用,否则删除赋值(注意,如果赋值的右侧有副作用,则不要删除它)。

示例

在此示例中,random_no变量从未读取,但它的赋值有副作用。因此,重要的是只删除第 10 行赋值的左侧。

import random

def write_random_to_file():
    no = random.randint(1, 10)
    with open("random.txt", "w") as file:
        file.write(str(no))
    return no

def write_random():
    random_no = write_random_to_file()
    print "A random number was written to random.txt"

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私