Introducción
Todos los tipos de datos en Python, incluidos los enteros y las cadenas, son objetos. A menudo, al escribir código Python, es necesario convertir un tipo de datos en otro. Por ejemplo, para realizar una operación matemática en un número representado como una cadena, debe convertirse en un número entero.
En este tutorial, le mostraremos cómo convertir una cadena de Python en un número entero.
Función int () en Python
int()
devuelve un objeto entero decimal de un número o cadena dados. Toma la siguiente forma:
int(x, base=10)
La función int()
toma dos argumentos:
x
: cadena o número para convertir en un entero.base
: representa el sistema numérico del primer argumento. Su valor puede ser 0 y 2–36. Si no se proporciona una base, el valor predeterminado es 10 (entero decimal).
Los enteros generalmente se expresan en hexadecimal (base 16), decimal (base 10), octal (base 8) o binario (base 2).
Si el argumento dado no se puede representar como un número entero, la función ValueError
una excepción ValueError.
Convierte una cadena de Python en un entero
En Python, una 'cadena' es una lista de caracteres que se declara usando '
), dobles ( "
) o triples ( """
).
Si una variable que contiene solo números se declara entre comillas, su tipo de datos se establece en Cadena. Considere el siguiente ejemplo:
days = "23"
type(days)
La función type()
nos muestra que days
es un objeto String.
<type 'str'>
Intentemos hacer una operación matemática sobre la variable:
print(days+5)
Python arrojará un TypeError
porque no es posible realizar un cálculo adicional con una cadena y un entero:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
Para convertir una representación de cadena de un entero decimal int
, pase la cadena a la función int()
, que devuelve un entero decimal:
days = "23"
<type 'int'>
Si ahora intenta hacer los cálculos, la operación de suma se realizará correctamente:
print(days_int+5)
28
Si el número incluye comas, marcando miles, millones, etc., debe eliminar las comas antes de pasar el número a la función int()
:
total = "1,000,000"
1000000
Al convertir cadenas que representan números enteros en diferentes sistemas de numeración, asegúrese de utilizar la base
correcta.
Por ejemplo, en el sistema hexadecimal, el número 54732 se representa como D5CF
. Para convertirlo en un entero decimal, debe usar la base 16:
int("D5CF", 16)
54735
Si pasa la D5CF
a la función int()
sin establecer una base, se ValueError
una excepción ValueError:
int("D5CF")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'D5CF'
Conclusión
En Python, puede convertir una cadena en un número entero usando la función int()
.