2
我有一個可以簡化這個代碼示例的函數:這是一個flake8誤報,還是我真的做錯了什麼?
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
也許他們根本沒有檢查器?我不熟悉片狀工具 –