У меня есть функция, которая может быть упрощено до этого образца кода:Является ли это ложным положительным, или я действительно что-то не так?
def test_fun():
for i in range(17):
item = i
print(item)
for i in range(42):
items = [[i], [i], [i]]
flatten_items = [item[0] for item in items]
print(flatten_items)
Когда я бегу pyflakes (1.3.0) или flake8 (3.2.0), я получаю следующий отчет:
/tmp/test.py:7:38: F812 list comprehension redefines 'item' from line 3
Я вижу, что переменная item
действительно используется дважды, но в разных областях, поэтому ее не следует сообщать, правильно?
Кроме того, даже если не было второго цикла, почему мне не разрешено переписывать переменную item
, так как я закончил работу с той, которую я определил в строке 3 с print
?
Итак, это ложный позитив, или я действительно нахожу очень плохой код?
Так что это точно так же, как делает 'для элемента элементов: flatten_items.append (пункт [0])', но в этом Я не получаю никаких ошибок или предупреждений от pyflakes. Зачем? – julienc
Может быть, у них просто нет шашки? Я не знаком с инструментом для хлопьев –