📜  Python for 循环中未使用的变量

📅  最后修改于: 2022-05-13 01:55:41.953000             🧑  作者: Mango

Python for 循环中未使用的变量

先决条件: Python For 循环

for 循环有一个循环变量来控制迭代。并非所有循环都在循环中执行的过程中使用循环变量。

例子:

Python3
# i,j - loop variable
  
# loop-1
print("Using the loop variable inside :")
  
# used loop variable
for i in range(0, 5):
  
    x = (i+1)*2
    print(x, end=" ")
  
# loop-2
print("\nUsing the loop variable only for iteration :")
  
# unsused loop variable
for j in range(0, 5):
  
    print('*', end=" ")


Python3
# unused function
def my_func():
  
    # unused local variable
    a = 5
    b = 2
    c = b+2
    print(b, c)
  
  
# unused loop variable 'i'
for i in range(0, 5):
    print("*", end=" ")


Python3
# unused function
def my_func():
    b = 2
    c = b+2
    print(b, c)
  
  
# unused loop variable 'i'
for _ in range(0, 5):
    print("*", end=" ")


输出
Using the loop variable inside :
2 4 6 8 10 
Using the loop variable only for iteration :
* * * * * 

在上面的代码片段中,在loop-1中, 循环控制变量“ i ”在循环内用于计算。但是在loop-2中,循环控制变量 ' j ' 只关心跟踪迭代次数。因此, 'j'是 for 循环中未使用的变量。避免声明无用的变量是一种很好的做法。一些 IDE(如Pycharm、PyDev、VSCode)会为循环结构中此类未使用的变量生成警告消息。警告可能看起来像下面给出的内容:

vscode中未使用的变量警告

为避免出现此类警告,可以使用单独使用下划线 ('_') 命名未使用变量的约定。这避免了 for 循环中未使用变量的问题。考虑以下脚本,其中包含使用Python中的Vulture 模块测试的未使用循环变量。一旦使用 pip 命令安装了 vulture 模块,它就可以用于在 anaconda 提示符下测试.py 脚本

示例:trial1.py

蟒蛇3

# unused function
def my_func():
  
    # unused local variable
    a = 5
    b = 2
    c = b+2
    print(b, c)
  
  
# unused loop variable 'i'
for i in range(0, 5):
    print("*", end=" ")
输出
* * * * * 

使用 vulture 模块检查

秃鹫模块死代码检查

为了避免这个未使用的变量“i”警告,循环变量可以简单地替换为下划线(“_”)。看下面的代码片段

蟒蛇3

# unused function
def my_func():
    b = 2
    c = b+2
    print(b, c)
  
  
# unused loop variable 'i'
for _ in range(0, 5):
    print("*", end=" ")


秃鹫模块死代码检查

有些人使用pylint ,这是一种在Python中跟踪代码样式和死代码的工具。当不使用 for 循环中的变量时,此类工具会发出警告。为了抑制这种情况,最好对未使用的变量使用下划线命名约定。