Cast» o casting en python, es la operación de convertir un tipo de dato a otro tipo de dato distinto. Python es un lenguaje de tipado dinámico, lo que significa que no es necesario declarar el tipo de una variable antes de usarla, y Python realiza automáticamente algunas conversiones implícitas cuando es necesario. Sin embargo, en algunas ocasiones, es necesario realizar conversiones explícitas para adecuar los datos a ciertas operaciones específicas o para garantizar que el resultado sea el esperado.
Tipos de conversiones o casting en Python:
- Cast a entero (int): int(valor)
- Cast a punto flotante (float): float(valor)
- Cast a cadena (str): str(valor)
- Cast a lista (list): list(secuencia)
- Cast a tupla (tuple): tuple(secuencia)
- Cast a conjunto (set): set(secuencia)
- Cast a diccionario (dict): dict(lista_de_pares_clave_valor)
- Cast a booleano (bool): bool(valor)
Conversión o cast a Int en Python
La función int() permite convertir un valor a un número entero.
x = int(3) # output de x: 3 y = int(3.5) # output de y: 3 z = int("3") # output de z: 3
Conversión o cast a Float en Python
La función float() permite convertir un valor a un número float(decimal).
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.
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
El separador de Float es un punto, cuidado con las comas
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.
x = "15,5" print(float(x)) # Output: ValueError: could not convert string to float: '15,5'
No se puede convertir un valor string o cadena a float
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.
x = "Tutorial" print(float(x)) # Output: ValueError: could not convert string to float: 'Tutorial'
Conversiones o cast a string (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).
x = str("d4") #obtendrás 'd4' y = str(3) # obtendrás '3' z = str(5.0) # obtendrás '5.0'
Conversión o cast a list en Python
list() permite convertir una secuencia iterable (como una tupla o conjunto) a una lista.
tup = (1, 2, 3) lst = list(tup) # lst será igual a [1, 2, 3]/span>
Conversión o cast a Tupla en Python
tuple() permite convertir una secuencia iterable (como una lista o conjunto) a una tupla.
lst = [4, 5, 6] tup = tuple(lst) # tup será igual a (4, 5, 6)
Conversión o cast a diccionario en Python
dict() permite convertir una lista de pares clave-valor (como una lista de tuplas) a un diccionario.
lst = [("nombre", "Juan"), ("edad", 30)] dic = dict(lst) # dic será igual a {"nombre": "Juan", "edad": 30}
Conversión o cast a Booleano en Python
bool() permite convertir un valor a un tipo booleano (True o False).
val = 0 bool_val = bool(val) # bool_val será igual a False