python

Conversión de Tipos de Datos en Python

En programación, a menudo necesitamos convertir datos de un tipo a otro. Python ofrece varias maneras de realizar esrtas conversiones, permitiéndote trabajar con diferentes tipos de datos de manera eficiente y flexible.


Google Colab para ver los ejercicios

Conversión Implícita y Explicita

La conversión de tipos puede ser implícita o explícita. La conversion implícita es realizada automáticamente por Python cuando es necesario, mientras que la conversión explícita requiere que el programador indique cómo se debe realizar la conversión.

Conversión Implícita

Python realiza conversiones implícitas cuando es seguro hacerlo sin périda de datos. Por ejemplo, al sumar un entero y un flotante, Python convierte el entero a flotante automáticamente:

entero = 10
flotante = 5.5

resultado = entero + flotante
print(resultado)  # Imprime 15.5
print(type(resultado))  # Imprime <class 'float'>

En este ejemplo, 10 se convierte implícitamente a un flotante 10.0 para realizar la operación de suma.

Conversión Explícita

La conversión explícita, también conocida como “casting”, requiere que el programador use funciones específicas para convertir tipos de datos. Aquí están las funciones de conversión más comunes en Python:

  • int(): Convierte a entero
  • float(): Convierte a flotante
  • str(): Convierte a cadena de texto
  • list(): Convierte a lista
  • tuple(): Convierte a tupla
  • dict(): Convierte a diccionario
  • set(): Convierte a conjunto

Conversión a Entero

Puedes convertir otros tipos de datos a enteros usando la función int()

cadena = "123"
flotante = 45.67

entero_desde_cadena = int(cadena)
entero_desde_flotante = int(flotante)

print(entero_desde_cadena)  # Imprime 123
print(entero_desde_flotante)  # Imprime 45

Conversión a Flotante

cadena = "123.45"
entero = 10

flotante_desde_cadena = float(cadena)
flotante_desde_entero = float(entero)

print(flotante_desde_cadena)  # Imprime 123.45
print(flotante_desde_entero)  # Imprime 10.0

Conversión a Cadena de Texto

Puedes convertir otros tipos de datos a cadenas de texto usando la función str().

entero = 123
flotante = 45.67

cadena_desde_entero = str(entero)
cadena_desde_flotante = str(flotante)

print(cadena_desde_entero)  # Imprime "123"
print(cadena_desde_flotante)  # Imprime "45.67"

Conversión a Lista

tupla = (1, 2, 3)
cadena = "Hola"

lista_desde_tupla = list(tupla)
lista_desde_cadena = list(cadena)

print(lista_desde_tupla)  # Imprime [1, 2, 3]
print(lista_desde_cadena)  # Imprime ['H', 'o', 'l', 'a']

Conversión a Tupla

lista = [1, 2, 3]
cadena = "Hola"

tupla_desde_lista = tuple(lista)
tupla_desde_cadena = tuple(cadena)

print(tupla_desde_lista)  # Imprime (1, 2, 3)
print(tupla_desde_cadena)  # Imprime ('H', 'o', 'l', 'a')

Conversión a Diccionario

lista_pares = [("nombre", "Juan"), ("edad", 30)]

diccionario_desde_lista = dict(lista_pares)

print(diccionario_desde_lista)  # Imprime {'nombre': 'Juan', 'edad': 30}

Conversión a Conjunto

lista = [1, 2, 2, 3, 4, 4]
cadena = "hola"

conjunto_desde_lista = set(lista)
conjunto_desde_cadena = set(cadena)

print(conjunto_desde_lista)  # Imprime {1, 2, 3, 4}
print(conjunto_desde_cadena)  # Imprime {'h', 'a', 'o', 'l'}

Errores Comunes en la Conversión de Tipos

Es importante tener en cuenta que no todas las conversiones son válidas y pueden generar errores si no se realizan correctamente. Por ejemplo, intentar convertir una cadena no numérica a un entero generará un ValueError.

cadena = "abc"

try:
    entero_desde_cadena = int(cadena)
except ValueError:
    print("Error: No se puede convertir la cadena a entero.")

Continúa leyendo