# Python concatenate strings: cómo concatenar cadenas

En Python, puedes unir cadenas utilizando diferentes métodos, como el operador `+`, `str.join()` o el formateo de cadenas. Concatenar cadenas en Python permite **manipular cadenas de manera flexible y eficiente**, lo cual resulta fundamental en muchas aplicaciones de desarrollo de software.

## ¿En qué consiste concatenar cadenas en Python?

Concatenar cadenas en Python es una técnica que consiste en **unir varias cadenas** (también denominadas strings) **en una sola**. Este proceso es decisivo cuando hay que modificar o formatear texto en Python. Existen varias formas de concatenar [Python strings](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/python-string/), pero los dos métodos más habituales son el operador `+` y el método `str.join()`.

Realizar una concatenación de cadenas eficaz es importante, sobre todo cuando se trabaja con grandes cantidades de texto o en aplicaciones donde el rendimiento es crucial. Es importante que elijas el **método de concatenación más adecuado** para evitar posibles problemas de rendimiento y garantizar que el código funcione con la mayor eficiencia.

## Métodos para la concatenar cadenas en Python

Existen varias formas de concatenar cadenas en Python. Estos son los métodos más conocidos:

- el operador `+`,
- el operador `*`,
- el método `join()`,
- el operador `%`,
- la función `format()` y
- f strings.

### El operador `+`

Puedes unir cadenas en Python utilizando el operador `+` entre los strings. De esta forma, se crea una cadena nueva.

```python
str1 = "Hello, "
str2 = "World!"
result = str1 + str2
print(result)  # Output: Hello, World!
```

En el ejemplo anterior, se emplea el operador `+` para unir los strings `str1` y `str2`. La cadena resultante se almacena en la variable `result` (resultado). Cuando esta nueva cadena se emite, se obtiene `Hello, World!` (¡Hola, Mundo!).

Ten en cuenta que cada vez que ejecutes el operador `+` se generará una nueva cadena, pues los **strings en Python son inmutables**. Al concatenar muchas cadenas, esto podría causar pérdidas de rendimiento, por lo que sería mejor utilizar métodos más eficientes como `str.join()`.

### El operador `*`

Cuando se aplica el operador `*` a una cadena, este la\* *multiplica por el número indicado*\* y da como resultado una concatenación repetida de la cadena original.

```python
str1 = "Hello! "
multiplier = 3
result = str1 * multiplier
print(result)  # Output: Hello! Hello! Hello!
```

En este ejemplo, el string `str1` se multiplica por el valor 3. El resultado es concatenar cadenas en Python de `str1` tres veces seguidas.

### El método `join()`

En general, el método `join()` se llama sobre una **cadena separadora** y utiliza una secuencia de cadenas como argumento.

```python
words = ["Python", "is", "great"]
separator = " "
result = separator.join(words)
print(result)  # Output: Python is great
```

En este código de ejemplo, `words` es una lista de cadenas. El método `join()` se aplica a la cadena separadora `separator`, que aquí es un **espacio**. Mediante el método se unen los elementos de la lista `words` con el separador indicado y se crea una nueva cadena en la que cada elemento de la lista está separado por un espacio. El resultado se almacena en la variable `result` y luego se emite.

### El método `%`

El método `%`, también conocido como **formateo de cadenas con `%`**, permite insertar valores en una cadena predefinida. Aunque solía utilizarse en versiones antiguas de Python, en las versiones más recientes se ha reemplazado por el método `str.format()` y el formateo f string.

```python
name = "Alice"
age = 30
greeting = "My name is %s and I am %d years old." % (name, age)
print(greeting)  # Output: My name is Alice and I am 30 years old.
```

En este ejemplo, se ha elegido `%s` para denotar una cadena y `%d` para un número entero. Se ha utilizado el método `%` para insertar los valores de las variables `name` (nombre) y `age` (edad) en la cadena predefinida. Los valores se pasan entre paréntesis **como tuplas** y se insertan en los correspondientes marcadores de posición de la cadena.

### La función `format()`

La función `format()` puede concatenar cadenas en Python al reemplazar los marcadores de posición de una cadena por valores específicos. Es una forma más flexible y legible de insertar valores en una cadena en comparación con otras maneras de unir strings. Los marcadores de posición **pueden definirse por posiciones o nombres**, lo que facilita la manipulación de las cadenas.

```python
name = "Alice"
age = 30
greeting = "My name is {} and I am {} years old.".format(name, age)
print(greeting)  # Output: My name is Alice and I am 30 years old.
```

La función `format()` utiliza los valores `name` y `age` como argumentos y los inserta en los marcadores de posición de la cadena en el orden en que se pasan en la función.

### f strings

F strings es otro método de [Python string format](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/python-string-format/) que puedes utilizar para realizar una Python string concatenation.

```python
name = "Alice"
age = 30
greeting = f"My name is {name} and I am {age} years old."
print(greeting)  # Output: My name is Alice and I am 30 years old.
```

En este ejemplo, se han definido las cadenas f colocando la letra “f” delante de la cadena. Se han colocado las variables `name` y `age` dentro de la cadena entre llaves. Durante la ejecución, Python reemplaza estos marcadores de posición por los valores reales de las variables `name` y `age`.

Si quieres saber más sobre las cadenas en Python, te recomendamos echar un vistazo a los tutoriales sobre [Python substrings](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/python-substring/), [Python split](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/python-split/), [Python String index](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/python-string-index/) y sobre [comparar cadenas en Python](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/como-comparar-cadenas-en-python/) de nuestra Digital Guide.


This is a markdown version of: [https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/python-string-concatenation/](https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/python-string-concatenation/) for AI/LLM consumption.