Cómo escribir cadenas multilínea en Python (comillas triples y uniones)

Aprenda las mejores formas de escribir cadenas multilínea en Python. Explore comillas triples, concatenación de paréntesis, métodos de unión de nueva línea y controles de formato.

Pruebe esta solución en el Editor

Descripción general

Al escribir bloques de texto dentro de su aplicación, como consultas SQL, plantillas HTML, instrucciones CLI o mensajes de depuración largos, a menudo necesitará abarcar valores de cadena en varias líneas. Python ofrece varias formas de definir cadenas multilínea, cada una con distintas implicaciones de formato.

La forma más directa y común de escribir una cadena de varias líneas es usar la sintaxis de comillas triples (ya sea `'''` o `"""`). Las cadenas con comillas triples conservan todas las entradas de caracteres literalmente, incluidas las nuevas líneas sin formato y la sangría. Esto hace que el formato sea muy visual, pero tiene un inconveniente: cualquier tabulación o espacio inicial utilizado para alinear el código dentro de bucles o clases anidados se convertirá en parte del valor real de la cadena.

Para definir una cadena de varias líneas que abarque visualmente varias líneas en su código fuente pero que esté compilada en una sola línea larga (o que no capture los espacios en blanco de sangría del código), puede envolver cadenas estándar entre comillas simples entre paréntesis. Python concatena automáticamente cadenas literales adyacentes entre paréntesis, lo que hace que su código sea limpio y altamente legible.

Código y salida de ejecución

Este script demuestra cómo escribir texto de varias líneas usando comillas triples, concatenación de cadenas entre paréntesis y sangrías limpias.

multiline_strings.py
Pruébelo en el editor
# 1. Triple Quote Syntax (preserves all newlines and indentation)
sql_query = """SELECT id, username, email
FROM users
WHERE active = True
ORDER BY id DESC;"""

print("--- Triple Quotes Query ---")
print(sql_query)

# 2. Parentheses Concatenation (splits code line, compiles into single line)
long_message = (
    "This is a long message that we split "
    "across multiple lines in our editor, "
    "but it compiles into a single text block."
)
print("\n--- Parentheses Concatenation ---")
print(long_message)

# 3. Joining list elements for clean line breaks
lines = [
    "First instruction line.",
    "Second instruction line.",
    "Third instruction line."
]
joined_text = "\n".join(lines)
print("\n--- Joined Lines ---")
print(joined_text)
Salida terminal
--- Triple Quotes Query ---
SELECT id, username, email
FROM users
WHERE active = True
ORDER BY id DESC;

--- Parentheses Concatenation ---
This is a long message that we split across multiple lines in our editor, but it compiles into a single text block.

--- Joined Lines ---
First instruction line.
Second instruction line.
Third instruction line.

Implementación paso a paso

  • Utilice comillas triples (''' o """) para escribir bloques de texto largos que conserven nuevas líneas literales.
  • Envuelva cadenas consecutivas entre paréntesis ( ) sin comas para dividir el código visualmente sin agregar nuevas líneas a la salida.
  • Utilice textwrap.dedent() cuando trabaje con comillas triples dentro de clases o funciones para limpiar la sangría inicial.

Preguntas frecuentes

¿Cómo elimino la sangría inicial de una cadena anidada entre comillas triples?

Importe el módulo textwrap incorporado y pase la cadena a textwrap.dedent(text) para limpiar los espacios iniciales.

¿Cuál es la diferencia entre comillas triples simples y dobles?

No existe una diferencia funcional entre ''' y """. Elija una convención y cúmplala de manera consistente en todo el proyecto.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.