¿Qué es E128 de PEP8: línea de continuación con sangría inferior para sangría visual?

Resuelto Oli asked hace 11 años • 2 respuestas

Acabo de abrir un archivo con Sublime Text (con Sublime Linter) y noté un error de formato PEP8 que nunca antes había visto. Aquí está el texto:

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

Está marcando el segundo argumento, la línea que comienzaurl(...)

Estaba a punto de desactivar esta verificación en ST2 pero me gustaría saber qué estoy haciendo mal antes de ignorarlo. Nunca se sabe, si me parece importante incluso podría cambiar mi forma de ser :)

Oli avatar Mar 15 '13 22:03 Oli
Aceptado

PEP-8 recomienda sangrar las líneas hasta el paréntesis de apertura si coloca algo en la primera línea, por lo que debería sangrar hasta el paréntesis de apertura:

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

o no poner ningún argumento en la línea de inicio y luego sangrar a un nivel uniforme:

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

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

Sugiero leer el PEP-8: puedes leerlo por encima y es bastante fácil de entender, a diferencia de algunos de los PEP más técnicos.

Gareth Latty avatar Mar 15 '2013 15:03 Gareth Latty

Esto también se aplica a declaraciones como esta (formateada automáticamente por PyCharm):

    return combine_sample_generators(sample_generators['train']), \
           combine_sample_generators(sample_generators['dev']), \
           combine_sample_generators(sample_generators['test'])

Lo que dará la misma advertencia de estilo. Para deshacerme de él tuve que reescribirlo en:

    return \
        combine_sample_generators(sample_generators['train']), \
        combine_sample_generators(sample_generators['dev']), \
        combine_sample_generators(sample_generators['test'])
Stefan Falk avatar Nov 05 '2018 08:11 Stefan Falk