A diferencia de otros lenguajes de programación, Python no convierte números enteros (o números decimales - punto flotante) a texto cuando se concatenan a un string.

Afortunadamente, Python tiene una función integrada bastante útil str(), que convertirá el argumento pasado por esta función a un string (texto).

La manera incorrecta de convertir un string a un entero en Python.

Programadores con experiencia en otros lenguajes de programación, posiblemente intenten la siguiente concatenación, la cual producirá un error:

edad = 18

string = "Hola, tengo " + edad + " años"

Puedes ejecutar este código en repl.it.

El error será el siguiente:

Traceback (most recent call last):
  File "python", line 3, in <module>
TypeError: must be str, not int

Aquí, TypeError: must be str, not int nos indica que un número entero debe de ser convertido a un string antes de intentar hacer una concatenación.

La manera correcta de convertir un string a un entero en Python.

Aquí tenemos un ejemplo sencillo de concatenación:

edad = 18

print("Hola, tengo " + str(edad) + " años")

# Salida
# Hola, tengo 18 años

Puedes ejecutar el código en repl.it.

Ejemplo de como imprimir en pantalla 1 2 3 4 5 6 7 8 9 10 usando un solo string:

resultado = ""

for i in range(1, 11):
    resultado += str(i) + " "

print(resultado)

# Salida
# 1 2 3 4 5 6 7 8 9 10

Puedes ejecutar el código en repl.it.

Aquí hay una explicación paso a paso de como funciona el código anterior:

  1. Primero, a una variable "resultado" le asignamos un string vacío.
  2. Usamos un bucle for para iterar sobre una lista de números.
  3. La lista de números es generada con la función range().
  4. Aquí range(1,11) generará una lista de números del 1 al 10.
  5. En cada iteración del bucle for, la variable  ‘i’ tomará un valor del 1 al 10.
  6. En la primera iteración la variable  i=1, después la variable
    [resultado = resultado + str(i)+“(este es un espacio)”], str(i) convierte el entero  ‘i’ a un string.
  7. Como i=1, en la primera iteración "resultado" también será  resultado=1.
  8. El proceso continuará hasta i=10  y finalmente en el último resultado de iteración = 1 2 3 4 5 6 7 8 9 10.
  9. Cuando finalmente termine el bucle for e imprimamos “resultado” en pantalla, veremos en la consola el siguiente mensaje ‘1 2 3 4 5 6 7 8 9 10’.

Espero que este artículo te haya sido útil.

¡Ten un buen día programando!

Traducido del artículo de - Chris Tse - Python String to Int: How to Convert a String to an Integer in Python