Python linter 关于 for 循环后使用的变量的警告?

问题描述 投票:0回答:1

是否存在 linter / linter 设置,当循环结束后使用在 for/while 循环内定义的变量时(此时它将是上一次循环迭代中设置的值),该设置会产生警告?例如,我希望它对此处的

print
语句发出警告:

numbers = range(10)
for x in numbers:
    if x % 2 == 0:
        y = x
print(y)
python pylint
1个回答
0
投票

看起来 pylint 可以检查这一点。

https://pylint.pycqa.org/en/latest/user_guide/messages/warning/undefined-loop-variable.html

我一开始就学会避免编写这样的代码。仅仅因为你可以,并不意味着你应该这样做。尽管它有时很方便,尤其是对于调试而言,但我认为它可能会导致代码更难调试。

© www.soinside.com 2019 - 2024. All rights reserved.