El límite de longitud de todas las líneas es de 79 caracteres.
Para algunos bloques largos de texto que no tienen altas restricciones estructurales como cadenas de texto de documentación o comentarios, la longitud de línea debe limitarse a 72 caracteres.
Hay algunos dispositivos que tienen establecido 80 caracteres como límite máximo de línea. La configuración predeterminada en algunos dispositivos, puede interrumpir visualmente la estructura del código, por lo cual se puede dificultar su comprensión. Por tanto, limita todas las líneas a 79 caracteres.
Algunos equipos de desarrollo podrían preferir una línea más larga. Entonces, para un proyecto, el equipo puede llegar a un acuerdo acerca de este tema, para este propósito estaría bien aumentar el límite de longitud de línea hasta 99 caracteres, siempre y cuando los comentarios y las cadenas de documentación sigan limitados a 72 caracteres.
La biblioteca estándar de Python es conservadora y requiere que el límite de las líneas sea de 79 caracteres (y cadenas de documentación / comentarios a 72).
Las líneas largas se pueden dividir en varias líneas, para esto se deben ajustar las expresiones entre paréntesis. Para esto debe usarse el backslash (o barra invertida) “\”, el cual indica el corte y continuación de una línea.
La barra invertida puede ser apropiada en diversas ocasiones. Por ejemplo, con declaraciones with que son largas, no se puede usar la continuación implícita, por lo que las barras invertidas son aceptables:
1 2 3 |
with open('/path/to/some/file/you/want/to/read') as file_1, \ open('/path/to/some/file/being/written', 'w') as file_2: file_2.write(file_1.read()) |
Asegúrese de indentar la siguiente línea adecuadamente. El lugar preferido para “cortar” alrededor de un operador binario es después del operador, no antes.
¿Debería cortarse una línea antes o después de un operador binario?
Durante décadas, el estilo recomendado fue cortar después de los operadores binarios. Pero esto puede afectar la legibilidad de dos maneras:
1. Los operadores, cuando están al final de una línea, tienden a dispersarse en diferentes columnas del código.
2. Los operadores se alejan de su operando y también de otros operadores y también de otro u otros operadores que están en una línea anterior.
Para leer un código escrito de esta manera se tiene que hacer un esfuerzo adicional para saber qué elementos se suman y cuáles se restan:
1 2 3 4 5 6 7 |
# Incorrecto: # Los operadores están un poco distantes a sus operandos income = (gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest) |
Para resolver este problema de
legibilidad, algunos matemáticos y sus editores siguen una convención opuesta.
Donald Knuth explica esta regla tradicional en su libro “Computers and
Typesetting”. La idea de esta regla es romper una línea antes del operador
binario:
1 2 3 4 5 6 7 |
Correcto: # Más fácil para juntar a los operadores con sus operandos income = (gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest) |
En el código Python, está
permitido romper antes o después de un operador binario, siempre que la
convención sea coherente localmente. Para nuevas codificaciones se sugiere el
estilo de Knuth.