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)会为循环结构中此类未使用的变量生成警告消息。警告可能看起来像下面给出的内容:
为避免出现此类警告,可以使用单独使用下划线 ('_') 命名未使用变量的约定。这避免了 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 循环中的变量时,此类工具会发出警告。为了抑制这种情况,最好对未使用的变量使用下划线命名约定。