HOWTO · Python

Continuación de línea en Python

Hay 2 métodos principales que se pueden usar para la continuación de línea en Python.

En esta página

La continuación de línea en Python permite que una instrucción lógica abarque varias líneas físicas. Úsala para dar formato a una expresión larga o una colección y facilitar su lectura. Python puede continuar una instrucción de forma implícita mientras quede sin cerrar un paréntesis, corchete o llave; también puedes solicitar la continuación explícitamente con una barra invertida al final de una línea física.

Qué hace la continuación de línea en Python

Una línea física es una línea tal como aparece en el archivo de código fuente. Una instrucción lógica es la instrucción completa que analiza Python. La continuación permite distribuir una misma instrucción en varias líneas físicas sin convertir cada línea en una instrucción independiente. La sangría de las líneas continuadas sirve principalmente para facilitar la lectura; dentro de los delimitadores de agrupación, Python los usa para determinar dónde continúa la expresión.

En las expresiones habituales, coloca las partes entre paréntesis y deja que los delimitadores mantengan abierta la instrucción. Ejecuta este ejemplo:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

total = (12 + 18 +
         20)
print(total)
50

Continuación implícita de línea con delimitadores de agrupación

La continuación implícita funciona dentro de paréntesis (), corchetes [] y llaves {}. Es útil para llamadas de varias líneas, listas, tuplas, diccionarios y expresiones. El delimitador de cierre termina la expresión agrupada, por lo que la siguiente instrucción puede comenzar con normalidad. Mantén una alineación coherente entre los elementos relacionados para que la estructura sea clara.

Este ejemplo usa una lista y un diccionario; ambos permanecen abiertos a lo largo de varias líneas físicas. Las etiquetas y los textos visibles del ejemplo se mantienen en inglés:

colors = [
    "blue",
    "orange",
]
settings = {
    "theme": "light",
    "active": True,
}
print(colors[0], settings["theme"])

La misma regla se aplica a una llamada de función o a un cálculo entre paréntesis. La continuación solo está disponible mientras el delimitador de agrupación correspondiente siga abierto. Un salto de línea entre instrucciones independientes no las une, y la sangría por sí sola no permite continuar una instrucción en general. Es preferible completar una expresión agrupada en vez de confiar en la sangría para que una instrucción larga parezca estar conectada.

Continuación explícita de línea con una barra invertida

La continuación explícita usa una barra invertida (\) como último carácter de una línea física. Python elimina la barra invertida y el salto de línea que le sigue, y luego continúa analizando la misma línea lógica. La barra invertida debe ir inmediatamente antes del final de línea: si después hay espacios, un comentario o cualquier otro carácter, la continuación no funciona y se produce un SyntaxError.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

message = "Python " + \
          "continues this expression."
print(message)

En este ejemplo, el texto de salida visible se mantiene en inglés. Este método permite dividir una expresión cuando los delimitadores de agrupación no son adecuados, pero cada línea continuada depende de que la línea anterior termine exactamente con la barra invertida. Por eso es fácil introducir errores al editar: añadir un comentario después de la barra o dejar espacios en blanco cambia la sintaxis. Además, no se puede usar una barra invertida para continuar cualquier construcción; si la expresión puede representarse de forma natural dentro de delimitadores de agrupación, úsalos.

Cómo elegir un método de continuación y evitar errores de sintaxis

Para la mayoría de las expresiones y colecciones de varias líneas, prefiere la continuación implícita dentro de paréntesis, corchetes o llaves. Así, la estructura de la expresión deja claro dónde continúa y puedes incluir comentarios en líneas separadas dentro del grupo. Usa una barra invertida cuando tengas un motivo concreto por el que los delimitadores no permitan expresar esa disposición, y comprueba que sea el último carácter antes del salto de línea.

Si Python indica un error de sintaxis cerca de un salto de línea, primero comprueba que cada delimitador de apertura tenga su correspondiente cierre y que la barra invertida no tenga espacios en blanco ni un comentario después. Comprueba también que no hayas dividido una expresión fuera de un contexto de agrupación sin indicar explícitamente la continuación. Estas comprobaciones abordan las causas habituales sin cambiar la lógica de la instrucción.

Para consultar recomendaciones más generales sobre la longitud de las líneas y el formato, consulta PEP 8, la guía de estilo de Python. Sus recomendaciones complementan las reglas de sintaxis: elige una disposición que facilite seguir la instrucción lógica y usa la continuación implícita cuando resulte natural.