python3 proposal missing method how guia enhancement docstrings python indentation pylint pep8

proposal - pep8 python 3



¿Cómo arreglar Pylint “sangría colgante incorrecta” y PEP8 E121? (3)

Estoy tratando de sangrar correctamente el siguiente fragmento de código:

RULES_LIST = [ (''Name1'', 1, ''Long string upto 40 chars''), (''Name2'', 2, ''Long string upto 40 chars''), (''Name3'', 3, ''Long string upto 40 chars''), (''Name4'', 4, ''Long string upto 40 chars''), (''Name5'', 5, ''Long string upto 40 chars''), (''Name6'', 6, ''Long string upto 40 chars''), (''Name7'', 7, ''Long string upto 40 chars''), (''Name8'', 8, ''Long string upto 40 chars'') ]

Pylint se queja de Wrong hanging indentation. para el código anterior, y PEP8 se queja E121: under-indented for hanging indent .

Una posible solución para pylint es cambiarlo a:

RULES_LIST = [/ (''Name1'', 1, ''Long string upto 40 chars''), ... (''Name8'', 8, ''Long string upto 40 chars'')]

pero PEP8 se queja E121 and E502

PEP8: 1.5.7 (configuración por defecto)
Pylint: 1.3.0 (configuración por defecto)
Python: 2.7.5 (ejecutándose en OSX 10.9.3)

La lista puede crecer más. ¿Puede alguien sugerir una sangría adecuada para esto?


Estás usando pestañas en lugar de cuatro espacios.

Esas tres posibilidades son correctas, si usa cuatro espacios en lugar de pestañas:

RULES_LIST = [(''Name1'', 1, ''Long string upto 40 chars''), (''Name2'', 2, ''Long string upto 40 chars''), (''Name3'', 3, ''Long string upto 40 chars''), (''Name4'', 4, ''Long string upto 40 chars''), (''Name5'', 5, ''Long string upto 40 chars''), (''Name6'', 6, ''Long string upto 40 chars''), (''Name7'', 7, ''Long string upto 40 chars''), (''Name8'', 8, ''Long string upto 40 chars'')] RULES_LIST = [ (''Name1'', 1, ''Long string upto 40 chars''), (''Name2'', 2, ''Long string upto 40 chars''), (''Name3'', 3, ''Long string upto 40 chars''), (''Name4'', 4, ''Long string upto 40 chars''), (''Name5'', 5, ''Long string upto 40 chars''), (''Name6'', 6, ''Long string upto 40 chars''), (''Name7'', 7, ''Long string upto 40 chars''), (''Name8'', 8, ''Long string upto 40 chars'')] RULES_LIST = [ (''Name1'', 1, ''Long string upto 40 chars''), (''Name2'', 2, ''Long string upto 40 chars''), (''Name3'', 3, ''Long string upto 40 chars''), (''Name4'', 4, ''Long string upto 40 chars''), (''Name5'', 5, ''Long string upto 40 chars''), (''Name6'', 6, ''Long string upto 40 chars''), (''Name7'', 7, ''Long string upto 40 chars''), (''Name8'', 8, ''Long string upto 40 chars'') ]


Estaba esperando tal vez así

RULES_LIST = [ (''Name1'', 1, ''Long string upto 40 chars''), (''Name2'', 2, ''Long string upto 40 chars''), (''Name3'', 3, ''Long string upto 40 chars''), (''Name4'', 4, ''Long string upto 40 chars''), (''Name5'', 5, ''Long string upto 40 chars''), (''Name6'', 6, ''Long string upto 40 chars''), (''Name7'', 7, ''Long string upto 40 chars''), (''Name8'', 8, ''Long string upto 40 chars'') ]

El corchete de cierre.


Si desea continuar usando las pestañas, puede cambiar la siguiente configuración en el archivo .pylintrc:

indent-string=''/t'' indent-after-paren=1

Si solo cambia la primera, pylint esperará que se usen cuatro pestañas para la sangría.