Cómo convertir cadenas en enteros en Python

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

Ejemplo de uso:

# Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age)

Salida:

18 18

Aunque el resultado es visualmente similar, tenga en cuenta que la primera línea es un objeto de cadena mientras que la siguiente línea es un objeto entero. Esto se ilustra con más detalle en el siguiente ejemplo:

age = "18" print(age + 2)

Salida:

Traceback (most recent call last): File "", line 1, in  TypeError: cannot concatenate 'str' and 'int' objects

El error debería dejarle claro que necesita convertir el ageobjeto en un número entero antes de agregarle algo.

age = "18" age_int = int(age) print(age_int + 2)

Salida:

20

Pero tenga en cuenta estos casos especiales:

  • Un punto flotante (un entero con una parte fraccionaria) como argumento devolverá el flotante redondeado hacia abajo al entero entero más cercano. Por ejemplo: print(int(7.9))imprimirá 7. Por otro lado, print(int("7.9"))dará como resultado un error ya que un objeto flotante como cadena no se puede convertir en un entero.
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • Las palabras dadas como argumento devolverán el mismo error. Por ejemplo, print(int("one"))devolverá:
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'