Cast en Python

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