Что такое PEP8 E128: линия продолжения с подступом для визуального отступа?

Просто открыл файл с Sublime Text (с Sublime Linter) и заметил ошибку форматирования PEP8, которую я никогда раньше не видел. Вот текст:

urlpatterns = patterns('',
    url(r'^$', listing, name='investment-listing'),
)

Он помещает второй аргумент, строка, начинающаяся с url(...)

Я собирался отключить эту проверку в ST2, но Я хотел бы знать, что я делаю неправильно, прежде чем игнорировать его. Вы никогда не знаете, если это кажется важным, я могу даже изменить свои пути:)

Ответ 1

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.

Ответ 2

Я новый ученик Python, и это меня очень расстраивало, потому что мне нравился чистый код, и я хочу с самого начала развивать хорошие привычки:

Ничего не работало для меня, кроме:

my_example = input(
    "This is a long sentence that I have broken "
    "across lines to satisfy PEP 8 / E128.")

Это работало очень хорошо для меня. Нет анонимных ошибок PEP 8/E128 от Anaconda в Sublime Text, и код работает так, как должен.

Надеюсь, это поможет кому-то, кто "свеж" с Py, как я.

Все самое лучшее.