是否存在 linter / linter 设置,当循环结束后使用在 for/while 循环内定义的变量时(此时它将是上一次循环迭代中设置的值),该设置会产生警告?例如,我希望它对此处的
print
语句发出警告:
numbers = range(10)
for x in numbers:
if x % 2 == 0:
y = x
print(y)
看起来 pylint 可以检查这一点。
https://pylint.pycqa.org/en/latest/user_guide/messages/warning/undefined-loop-variable.html
我一开始就学会避免编写这样的代码。仅仅因为你可以,并不意味着你应该这样做。尽管它有时很方便,尤其是对于调试而言,但我认为它可能会导致代码更难调试。