Similar al método str() incorporado, Python también ofrece el práctico método int() que toma un objeto string como argumento y devuelve un entero.

Ejemplos de Uso:

# Aquí edad es un objeto string
edad = "18"
print(edad)

# Convertiendo un string a un entero
int_edad = int(edad)
print(int_edad)
Fragmento de Python

Salida:

18
18

A pesar de que el salida es visualmente igual, ten en mente que la primera línea es un objeto string, mientras que la siguiente línea es un objeto entero. Esto es ilustrado mejor en el siguiente ejemplo:

edad = "18"
print(edad + 2)

Salida:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
Fragmento de Python

El error crea una aclaración acerca de que tú necesitas convertir el objeto edad a un entero antes de sumar alguna cosa a él.

edad = "18"
edad_int = int(edad)
print(edad_int + 2)
Fragmento de Python

Salida:

20

Pero guarda estos casos especiales en mente:

  • Un punto flotante (un entero (int) con parte fraccional) como argumento retornara el  numero flotador redondeando hacia hacia abajo al entero más cercano. Por ejemplo: print(int(7.9))  sera imprimido como 7. Por otro lado, print(int("7.9")) dará como resultado un error debido a que un numero flotante como un objeto string no puede ser convertido en entero. Por ejemplo:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '7.9'
Fragmento de Python
  • Palabras dadas como argumento retornaran el mismo error. Por ejemplo, print(int("one")):
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'one'
Fragmento de Python

Traducido del artículo - How to Convert Strings into Integers in Python