Мне также не удалось воспроизвести ваше предупреждение 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, но если вы выполняете проверку на лету, похожую на режим flymake в emacs, то может также случиться так, что 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]
, но это действительно о том, что будет наиболее читабельным / поддерживаемым, и это на ваше усмотрение.