2
私はこのコードサンプルに単純化することができる機能があります。これはflake8の偽陽性ですか、それとも本当に間違っていますか?
/tmp/test.py:7:38: F812 list comprehension redefines 'item' from line 3
:私はpyflakes(1.3.0)またはflake8(3.2.0)を実行すると
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)
、私は以下のレポートを取得します
私が見るところでは、item
変数は実際には2回使用されていますが、異なるスコープで使用されるため、報告しないでください。
から3行目で定義した変数との作業が終了したため、2番目のループがなくても、item
変数を書き直すことを許可しないでください。
これは偽陽性ですか、それとも本当に貧弱なコードを書いていますか?
これは項目に '項目についてを行うと全く同じである。flatten_items.append(項目[0])'が、これに私はpyflakesから何のエラーも警告も出さない。どうして? – julienc
多分彼らは単にそれのためのチェッカーを持っていない?私はフレークツールに慣れていない –