Python Cadena a Entero, Entero a Cadena

En este tutorial, aprenderemos cómo convertir una cadena de texto en Python a un entero y un entero a una cadena de texto en Python. En nuestro tutorial anterior aprendimos sobre la función Python List append.

Python String to Int

Si has leído nuestros tutoriales anteriores, puedes notar que en algún momento utilizamos esta conversión. De hecho, esto es necesario en muchos casos. Por ejemplo, si estás leyendo algunos datos de un archivo, entonces estarán en formato de cadena de texto y tendrás que convertir la cadena de texto a un entero. Ahora, iremos directamente al código. Si deseas convertir un número representado en una cadena de texto a un entero, debes usar la función int() para hacerlo. Observa el siguiente ejemplo:

num = '123'  # string data

# imprimir el tipo

print('Type of num is :', type(num))

# convertir usando int()

num = int(num)

# imprimir el tipo again

print('Now, type of num is :', type(num))

La salida del siguiente código será

Type of num is : <class 'str'>
Now, type of num is : <class 'int'>
Python String To Int

Conversión de Cadena de texto a entero desde una base diferente

Si la cadena que deseas convertir a entero pertenece a una base numérica diferente a la base 10, puedes especificar la base para la conversión. Pero recuerda que el entero de salida siempre estará en base 10. Otra cosa que debes recordar es que la base proporcionada debe estar entre 2 y 36. Observa el siguiente ejemplo para entender la conversión de cadena a entero con el argumento de base.

num = '123'
# imprime la cadena original
print('The original string :', num)

# considerando que '123' está en base 10, conviértelo a base 10

print('Base 10 to base 10:', int(num))

# considerando que '123' está en base 8, conviértelo a base 10

print('Base 8 to base 10 :', int(num, base=8))

# considerando que '123' está en base 6, conviértelo a base 10

print('Base 6 to base 10 :', int(num, base=6))

La salida del siguiente código será

Python Convert String To Int With Base

Error de valor al convertir cadena a entero

Mientras conviertes de cadena a entero, puedes obtener la ValueError excepción. Esta excepción ocurre si la cadena que deseas convertir no representa ningún número. Supongamos que deseas convertir un número hexadecimal a un entero, pero no has pasado el argumento base=16 en la función int(). Esto generará una excepción ValueError si hay algún dígito que no pertenezca al sistema decimal. El siguiente ejemplo ilustrará esta excepción al convertir una cadena a entero.

"""
    Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12'  # this is a hexadecimal value

# la variable se considera como valor decimal durante la conversión
print('The value is :', int(num))

# la variable se considera como valor hexadecimal durante la conversión
print('Actual value is :', int(num, base=16))

"""
    Scenario 2: The interpreter will raise ValueError exception
"""

num = '1e'  # this is a hexadecimal value

# la variable se considera como valor hexadecimal durante la conversión
print('Actual value of \'1e\' is :', int(num, base=16))

# la variable se considera como valor decimal durante la conversión
print('The value is :', int(num))  # this will raise exception

El resultado del código anterior será:

The value is : 12
Actual value is : 18
Actual value of '1e' is : 30
Traceback (most recent call last):
  File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in 
    print('The value is :', int(num))  # this will raise exception
ValueError: invalid literal for int() with base 10: '1e'
Python String To Int ValueError

Python int a String

Convertir un entero a cadena no requiere esfuerzo ni comprobaciones. Simplemente utiliza la función str() para realizar la conversión. Observa el siguiente ejemplo.

hexadecimalValue = 0x1eff

print('Type of hexadecimalValue :', type(hexadecimalValue))

hexadecimalValue = str(hexadecimalValue)

print('Type of hexadecimalValue now :', type(hexadecimalValue))

El resultado del siguiente código será:

Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>
Python Int To String Conversion

Eso es todo sobre la conversión de cadena a entero y de entero a cadena en Python. Referencia: Documentación Oficial de Python

Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string