El cast o casting permite convertir un tipo de datos a otro tipo de datos distinto.
Existen dos tipos de conversiones, implícitas y explícitas:
- Implícitas: Python realiza las conversiones.
- Explícitas: Nosotros realizamos la conversión.
Las conversiones en Python se realizan mediante las siguientes funciones:
- int()
- float()
- str()
Conversiones a Int o enteros en Python
La función int() construye un número entero a partir de un int(entero), un float(decimal) o un string(cadena).
Ejemplo de conversión a Int
x = int(3) # output de x: 3 y = int(3.5) # output de y: 3 z = int("3") # output de z: 3
A continuación veremos como convertir el tipo de datos de tipo float a int.
Ejemplo de conversión de Float a Int
x = 8.5 x = int(x) print(x) # Output:8
Conversiones a float o decimales en Python
La función float() construye un número decimal a partir de un int (entero), un float(decimal) o un string(cadena).
Ejemplo de conversión a float
x = float(3) # obtendrás 3.0 y = float(3.1) # obtendrás 3.1 z = float("3") # obtendrás 3.0 w = float("3.5") # obtendrás 3.5
A continuación veremos como convertir el tipo de datos de string a float.
Ejemplo de conversión de string a float
x = "47.5" print(float(x)) # Output: 47.5
Importante: En el tipo de datos float, el separador es un « . » si se utiliza una coma, dará error
A continuación podrás ver un ejemplo de cómo usando una coma en lugar de « . » daría un error, ya que python no lo reconoce como el separador del decimal.
Ejemplo de error al no utilizar el " . " como separador
x = "15,5" print(float(x)) # Output: ValueError: could not convert string to float: '15,5'
Intentar convertir cadenas o tipos de datos string compuestas por palabras a float, también daría error, aunque es obvio que no tiene sentido realizar esta conversión.
Ejemplo de error al intentar convertir cadenas de palabras a float
x = "Tutorial" print(float(x)) # Output: ValueError: could not convert string to float: 'Tutorial'
Conversiones a string o cadenas en Python
La función str() construye una cadena a partir de distintos tipos de datos, como strings(cadenas), int(enteros) y decimales(float).
Ejemplo de conversión a string
x = str("d4") #obtendrás 'd4' y = str(3) # obtendrás '3' z = str(5.0) # obtendrás '5.0'
A continuación veremos como convertir datos de tipo float a string.
Ejemplo de conversión de float a string
x = 8.5 print(type(x)) # Ahora tipo 'float' x = str(x) print(type(x)) # después tipo 'str'