【发布时间】:2015-03-27 10:59:59
【问题描述】:
阅读this question我可以理解为什么会输出这个警告,但是我有一个特定的情况,循环变量不能被取消定义......
for i in range(0, 2):
print i
print i
PyLinting 上面我得到了
W: 4,6: Using possibly undefined loop variable 'i'
PyLint 不够聪明,无法注意到 内置 range() 函数在这种情况下将始终生成一个填充列表,因此 i 将始终设置为最后一个 @987654327 @ 陈述?我可以理解它是否是一个未定义的函数,因为 PyLint 不可能知道该函数的作用……但在这种情况下,它是一个众所周知的函数,而且这种用法肯定很常见吗?
如果是这样,最好在循环之前抑制警告或定义i(这似乎很浪费)?
【问题讨论】:
-
如果您在代码中的某处重新定义
range会怎样? -
好点,感谢回复