4Geeks chosen to deliver AI education in the Bahamas alongside Harvard, Oxford, and Columbia.See more

Cómo concatenar cadenas en Python

By 4Geeks

Une textos, variables, números y listas con +, f-strings y join(), y evita los errores típicos al concatenar.

6 min readLast updated
Icono de concatenar cadenas en Python

¿Cómo concatenar cadenas en Python?

Respuesta corta: usa el operador + para unir dos o tres cadenas, una f-string cuando mezclas texto con variables o números, y join() cuando tienes una lista de cadenas:

python
nombre = "Ana"
edad = 30
 
print("Hola, " + nombre)                # Hola, Ana
print(f"{nombre} tiene {edad} años")    # Ana tiene 30 años
print(" ".join(["Aprende", "Python"]))  # Aprende Python

Con + solo puedes unir textos: para añadir un número, conviértelo con str() o usa una f-string.

El operador + solo une textos. Las f-strings convierten los números solas y join() une listas enteras con el separador que elijas.

Formas de concatenar cadenas en Python

MétodoEjemploÚsalo para
+"Hola, " + nombreUnir pocas cadenas
+=texto += "!"Añadir texto a una variable
f-stringf"{nombre} tiene {edad} años"Mezclar texto, variables y números
join()" ".join(palabras)Unir una lista con un separador
format()"{} tiene {} años".format(nombre, edad)Código antiguo o plantillas reutilizables
%"%s tiene %d años" % (nombre, edad)Leer código muy antiguo
*"-" * 20Repetir una cadena

Concatenar con el operador +

python
nombre = "Alex"
 
print("Me llamo " + nombre + " y soy desarrollador")
# Me llamo Alex y soy desarrollador

+ no añade espacios. Si olvidas el espacio después de llamo, el resultado es Me llamoAlex.

Añadir texto con +=

python
saludo = "Hola"
saludo += ", mundo"
 
print(saludo)  # Hola, mundo

Las cadenas de Python no se pueden modificar: += crea una cadena nueva y la guarda en la misma variable.

Concatenar con f-strings

Escribe una f antes de las comillas y pon las variables entre llaves. Dentro de las llaves también puedes hacer cálculos y dar formato:

python
producto = "Teclado"
precio = 20
 
print(f"{producto}: {precio * 1.21:.2f} € con IVA")
# Teclado: 24.20 € con IVA

Las f-strings convierten los números en texto solas y son la opción más legible en el Python actual.

Unir una lista con join()

python
palabras = ["Aprende", "a", "programar"]
 
print(" ".join(palabras))   # Aprende a programar
print("-".join(palabras))   # Aprende-a-programar
print("\n".join(palabras))  # una palabra por línea

La cadena que va antes de .join() es el separador. join() solo acepta textos: si la lista tiene números, conviértelos antes con map(str, lista):

python
print(", ".join(map(str, [1, 2, 3])))  # 1, 2, 3

Concatenar números y texto

python
edad = 30
 
print("Tienes " + str(edad) + " años")  # Tienes 30 años
print(f"Tienes {edad} años")            # Tienes 30 años

Sin str(), "Tienes " + edad da TypeError: can only concatenate str (not "int") to str.

format(), % y *

python
nombre = "Ana"
edad = 30
 
print("{} tiene {} años".format(nombre, edad))  # Ana tiene 30 años
print("%s tiene %d años" % (nombre, edad))      # Ana tiene 30 años
print("ja" * 3)                                 # jajaja

format() y % siguen funcionando, pero en código nuevo una f-string se lee mejor. * repite una cadena tantas veces como indiques.

Carrera · Ingeniería de IA

Ya unes cadenas, ahora construye prompts y apps con IA

De cero a AI Engineer junior: Python, datos, agentes de IA y RAG con mentores y proyectos reales.

Concatenar muchas cadenas en un bucle

Si vas a unir muchas piezas, guárdalas en una lista y únelas al final con join(). Es más claro y más eficiente que repetir += miles de veces:

python
partes = []
for i in range(3):
    partes.append(f"línea {i}")
 
print("\n".join(partes))
# línea 0
# línea 1
# línea 2

Unir cadenas largas en varias líneas

Dos cadenas escritas una junto a otra dentro de paréntesis se unen solas, sin +:

python
mensaje = ("Aprende a programar "
           "con Python")
 
print(mensaje)  # Aprende a programar con Python

Usa la concatenación con IA

Cuando programas con IA, concatenas cadenas todo el tiempo: los prompts que envías a un modelo se construyen con f-strings y join():

python
texto = "Python es un lenguaje de programación muy usado en IA."
n = 1
 
prompt = f"Resume este texto en {n} frase: {texto}"
print(prompt)
# Resume este texto en 1 frase: Python es un lenguaje de programación muy usado en IA.

Y un asistente como ChatGPT, Claude o GitHub Copilot te ayuda a escribir y arreglar ese código. Estos tres prompts están listos para copiar.

1. Elige la mejor forma

Tengo estas variables en Python: [pega tus variables y sus valores]
Quiero obtener este texto: [escribe el resultado que esperas]
Escríbelo con una f-string y, si hay una lista, con join(). Explícame por qué.

2. Arregla un error al concatenar

Al concatenar cadenas en Python aparece este error: [pega el error completo]
Este es mi código: [pega tu código]
Explícame la causa y dame la corrección.

3. Construye un prompt para un modelo de IA

Ayúdame a crear en Python una función que reciba [un texto y un número de frases]
y devuelva un prompt para un modelo de IA usando f-strings. Muéstrame un ejemplo de uso.

Comprueba siempre la respuesta ejecutándola en tu terminal o en Jupyter.

Aprende con un mentor

De unir textos a aplicaciones con IA

En la carrera de Ingeniería de IA de 4Geeks empiezas sin experiencia y terminas con agentes de IA y sistemas RAG en tu portafolio.

Errores comunes al concatenar cadenas

Lo que vesPor qué pasaSolución
TypeError: can only concatenate str (not "int") to strIntentas unir un texto y un número con +Usa str(numero) o una f-string
TypeError: unsupported operand type(s) for +: 'int' and 'str'El número va primero en la sumaIgual: str(numero) o una f-string
TypeError: sequence item 1: expected str instance, int foundLa lista de join() tiene númerosUsa ", ".join(map(str, lista))
AttributeError: 'list' object has no attribute 'join'Escribiste lista.join(" ")El separador va delante: " ".join(lista)
Se imprime {nombre} tal cualOlvidaste la f antes de las comillasEscribe f"{nombre}"
Las palabras salen pegadas, como HolaAna+ no añade espaciosAñade el espacio en la cadena o usa " ".join(...)

Guías relacionadas

Descarga gratis

Concatenar cadenas, en una chuleta de 2 páginas

Todas las formas de unir textos en Python, cuándo usar cada una, recetas listas para copiar, los errores más comunes y prompts para ChatGPT, Claude o Copilot. Gratis, en PDF.

Chuleta: concatenar cadenas en Python

2 páginas · PDF · 4Geeks

  • +, f-strings, join(), format(), % y * en una tabla
  • Recetas para números, listas y prompts de IA
  • Los 6 errores más comunes y prompts para resolverlos con IA

Consíguela gratis

Tu PDF al instante

Preguntas frecuentes sobre concatenar cadenas en Python

¿Quieres pasar de escribir Python a crear aplicaciones con IA, con proyectos reales y mentores?

Ver la carrera de Ingeniería de IA