Что такое E128 в PEP8: продолжение строки с недостаточным отступом для визуального отступа?
Просто открыл файл с помощью Sublime Text (с помощью Sublime Linter) и заметил ошибку форматирования PEP8, которую я никогда раньше не видел. Вот текст:
Он отмечает второй аргумент, строку, которая начинается url(. )
Я собирался отключить эту проверку в ST2, но хотел бы знать, что я делаю не так, прежде чем проигнорировать это. Никогда не угадаешь, если это покажется важным, я могу даже изменить свой путь 🙂
Что такое E128 в PEP8: строка продолжения с отступом для визуального отступа?
Просто открыл файл с помощью Sublime Text (с помощью Sublime Linter) и заметил ошибку форматирования PEP8, которую я никогда раньше не видел. Вот текст:
Он помечает второй аргумент, строку, которая начинается url(. )
Я собирался отключить эту проверку в ST2, но я хотел бы знать, что я делаю неправильно, прежде чем я проигнорирую это. Вы никогда не знаете, если это кажется важным, я мог бы даже изменить свои пути 🙂
PEP-8 рекомендует использовать отступы для открывающих скобок, если вы помещаете что-либо в первую строку, поэтому он должен иметь отступ для открывающей скобки:
или не ставить какие-либо аргументы в стартовой строке, а затем делать отступы до единого уровня:
Я предлагаю прочитать PEP-8 — вы можете пролистать многие из них, и это довольно легко понять, в отличие от некоторых более технических PEP.
Это также относится к таким утверждениям (автоматически отформатированным PyCharm):
Который даст такое же стиль-предупреждение. Чтобы избавиться от него, мне пришлось переписать его так:
Python: Pep8 E128 indentation error. how can this by styled?
As it stands, using the PEP8 script, it gives me an «E128: continuation line under-indented for visual indent» error on the second line.
I’ve tried a whole bunch of different ways of formatting, and the only way I can get PEP8 to stop complaining is:
But this looks like garbage.
Suggestions? E124, E126, and E128 seem to be a huge pain!
I don’t mind solutions which have the , and context_instance. are at the same indentation level.
Просто открыл файл с помощью Sublime Text (с помощью Sublime Linter) и заметил ошибку форматирования PEP8, которую я никогда раньше не видел. Вот текст:
urlpatterns = patterns('',
url(r'^$', listing, name='investment-listing'),
)
Он помечает второй аргумент, строку, которая начинается url(...)
Я собирался отключить эту проверку в ST2, но я хотел бы знать, что я делаю неправильно, прежде чем я проигнорирую это. Вы никогда не знаете, если это кажется важным, я мог бы даже изменить свои пути
Ответы:
PEP-8 рекомендует использовать отступы для открывающих скобок, если вы помещаете что-либо в первую строку, поэтому он должен иметь отступ для открывающей скобки:
urlpatterns = patterns('',
url(r'^$', listing, name='investment-listing'))
или не ставить какие-либо аргументы в стартовой строке, а затем делать отступы до единого уровня:
urlpatterns = patterns(
'',
url(r'^$', listing, name='investment-listing'),
)
urlpatterns = patterns(
'', url(r'^$', listing, name='investment-listing'))
Я предлагаю прочитать PEP-8 — вы можете пролистать многие из них, и это довольно легко понять, в отличие от некоторых более технических PEP.
Это также относится к таким утверждениям (автоматически отформатированным PyCharm):
return combine_sample_generators(sample_generators['train']),
combine_sample_generators(sample_generators['dev']),
combine_sample_generators(sample_generators['test'])
Который даст такое же стиль-предупреждение. Чтобы избавиться от него, мне пришлось переписать его так:
return
combine_sample_generators(sample_generators['train']),
combine_sample_generators(sample_generators['dev']),
combine_sample_generators(sample_generators['test'])
У меня есть скрипт на python, и flake8 обнаружил некоторые ошибки для моего скрипта:
231 flake8
E128 continuation line under-indented for visual indent
232 flake8
E128 continuation line under-indented for visual indent
234 flake8
E128 continuation line under-indented for visual indent
235 flake8
E122 continuation line missing indentation or outdented
236 flake8
E122 continuation line missing indentation or outdented
Вот мой код:
t = someFunction (
data, title=so, Rows=1,
Widths=[1.2 * inch, 0.3 * inch,
0.1 * inch, 0.3 * inch, 2 * inch, 3 * inch,
5.00 * inch],
style=[("sth1", (0, 0), (-1, -1), "CENTER"),
("sth2", (0, 0), (-1, -1), "CENTER"),
('sth3', (0, 0), (-1, -1), 0.5, colors.grey),
('sth4', (0, 0), (-1, 0), colors.orange),
('sth5', (0, 1), (0, -1), colors.orange),
])
Я пробовал разные перестановки, и ни одна из них не работала. Может кто-нибудь сказать мне, как отформатировать эту функцию?
1 ответ
Лучший ответ
E122: Когда вы используете строку продолжения для нескольких аргументов функции, они должны использовать обычный отступ в 4 столбца.
E128: Когда вы распределяете элементы списка, dict, tuple и т. Д. По нескольким строкам, вам нужно выровнять их слева.
t = someFunction (
Widths=[1.2 * inch, 0.3 * inch,
0.1 * inch, 0.3 * inch, 2 * inch, 3 * inch,
5.00 * inch],
style=[("sth1", (0, 0), (-1, -1), "CENTER"),
("sth2", (0, 0), (-1, -1), "CENTER"),
('sth3', (0, 0), (-1, -1), 0.5, colors.grey),
('sth4', (0, 0), (-1, 0), colors.orange),
('sth5', (0, 1), (0, -1), colors.orange)]
)
Вот документация:
В строке продолжения отсутствует отступ или отступ (E122)
Строка продолжения с отступом для визуального отступа (E128)
0
Barmar
12 Сен 2019 в 23:43