また、上記のコードで PEP8 警告を再現できませんでした。おそらく、正確なコードをペーストビンに入れることができますか?
PEP8 のテスト ケースの例 ( --show-pep8 オプションを使用する場合) は次のとおりです。
Avoid extraneous whitespace in the following situations:
- Immediately inside parentheses, brackets or braces.
- Immediately before a comma, semicolon, or colon.
Okay: spam(ham[1], {eggs: 2})
E201: spam( ham[1], {eggs: 2})
E201: spam(ham[ 1], {eggs: 2})
E201: spam(ham[1], { eggs: 2})
E202: spam(ham[1], {eggs: 2} )
E202: spam(ham[1 ], {eggs: 2})
E202: spam(ham[1], {eggs: 2 })
E203: if x == 4: print x, y; x, y = y , x
E203: if x == 4: print x, y ; x, y = y, x
E203: if x == 4 : print x, y; x, y = y, x
また、私は実際に Textmate を使用したことはありませんが、emacs の flymake モードに似たオンザフライ チェックを行っている場合、ファイルの古いバージョンで pep8 が呼び出されている可能性があり、問題が発生する可能性があります。ファイルを保存すると消えます。さらにデバッグするには、さらに情報が必要になる場合があります。
リスト内包表記自体のフォーマットについては、この他の SO の質問と、Google スタイル ガイドからの引用を参照してください。私は個人的にあなたがそれをした方法に問題はありません。次のようなこともできると思います
def _question_tuple(q):
return (
q,
q.vote_set.filter(choice__exact='Y'),
q.vote_set.filter(choice__exact='N'),
request.session.get(str(q.id))
)
question_tups = [_question_tuple(q) for q in questions]
しかし、それは実際には何が最も読みやすく保守しやすいかということであり、それはあなた自身の判断次第です。