Introducción
Python soporta la concatenación de cadenas usando el operador +
. En la mayoría de los otros lenguajes de programación, si concatenamos una cadena con un entero (o cualquier otro tipo de datos primitivos), el lenguaje se encarga de convertirlos a cadena y luego los concatena.
Sin embargo, en Python, si intentas concatenar una cadena con un entero usando el operador +
, obtendrás un error en tiempo de ejecución.
Ejemplo
Veamos un ejemplo de cómo concatenar una cadena (str
) y un entero (int
) usando el operador +
.
current_year_message = 'Year is '
current_year = 2018
print(current_year_message + current_year)
La salida deseada es la cadena: El año es 2018
. Sin embargo, cuando ejecutamos este código, obtenemos el siguiente error en tiempo de ejecución:
Traceback (most recent call last):
File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str
Entonces, ¿cómo concatenas str
y int
en Python? Hay varias otras formas de realizar esta operación.
Prerrequisitos
Para completar este tutorial, necesitarás:
- Familiaridad con la instalación de Python 3. Y familiaridad con la codificación en Python. Cómo codificar en la serie Python 3 o usando VS Code para Python.
Este tutorial fue probado con Python 3.9.6.
Usando la función str()
Podemos pasar un int
a la función str()
y será convertido a un str
:
print(current_year_message + str(current_year))
El entero current_year
es devuelto como un string: El año es 2018
.
Usando el Operador de Interpolación %
Podemos pasar valores a una especificación de conversión con Formato de Cadena al estilo printf:
print("%s%s" % (current_year_message, current_year))
El entero current_year
es interpolado como un string: El año es 2018
.
Utilizando la función str.format()
También podemos utilizar la función str.format()
para la concatenación de cadenas e enteros.
print("{}{}".format(current_year_message, current_year))
El entero current_year
se convierte a una cadena: Año es 2018
.
Utilizando f-strings
Si estás utilizando Python 3.6 o versiones superiores, también puedes utilizar f-strings.
print(f'{current_year_message}{current_year}')
El entero current_year
se interpola a una cadena: Año es 2018
.
Conclusión
Puedes revisar el script completo de Python y más ejemplos en Python en nuestro repositorio de GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int