CodeGym /Cursos /Python SELF ES /Conversión de tipos de datos

Conversión de tipos de datos

Python SELF ES
Nivel 5, Lección 2
Disponible

2.1 Definición del tipo

A veces, en un punto específico del código, no sabemos qué datos exactamente se almacenan en una variable. Para esto, Python tiene la función type(), que se utiliza para determinar el tipo de un objeto.

Es una función integrada que devuelve el tipo de un objeto dado, lo cual puede ser útil para depuración, validación de datos o durante la implementación de lógica que depende de los tipos de datos.

Principio de funcionamiento de la función type()

Cuando llamas a type(x), Python devuelve un objeto especial type, que representa el tipo de la variable x. Por ejemplo:


x = 1
print(type(x))  # Mostrará: <class 'int'>

x = "hola"
print(type(x))  # Mostrará: <class 'str'>

x = [1, 2, 3]
print(type(x))  # Mostrará: <class 'list'>

Nota que en pantalla se mostrará la palabra class. Esto es porque incluso los tipos int, str, list y otros también son clases, simplemente incorporadas — no necesitas declararlas, ya vienen con Python.

Aplicación práctica

La función type() se utiliza a menudo en escenarios donde es necesario diferenciar acciones basadas en el tipo de datos.

  • Se pueden realizar diferentes acciones dependiendo del tipo de la variable.
  • En funciones y métodos, para asegurarse de la validez de los tipos de los argumentos.

Si quieres asegurarte de que una variable contiene un número, escribe un código de la siguiente manera:


arg = 123
if type(arg) == int:
    print(arg + 10)  # Mostrará: 133               

Un ejemplo más práctico, donde verificamos el tipo del objeto almacenado en una variable:


arg = "123"
if type(arg) == int:
    print(arg + 10)  # Esto no se ejecutará, ya que arg es una cadena
elif type(arg) == str:
    print(arg + " mundo")  # Mostrará: 123 mundo
else:
    print("Tipo desconocido")               

2.2 Asignación explícita del tipo

En Python, la asignación explícita del tipo de un objeto se realiza utilizando funciones de conversión de tipos, como int(), float(), str(), tuple() y otras. Estas funciones permiten establecer un tipo específico y convertir datos de un tipo a otro, lo cual es útil para procesar entradas de usuario, realizar operaciones matemáticas o trabajar con cadenas y colecciones de datos.

Ejemplos de funciones de conversión de tipos

int(): Convierte datos a un número entero. Ya nos hemos encontrado muchas veces con esta función y sabemos que si pasas una cadena con un número, entonces int() la convertirá al número entero correspondiente.


num = int("123")  # num será el número entero 123               

float(): Otra función conocida. Convierte los datos en un número con punto flotante.


num = float("123.45")  # num será 123.45               

str(): Convierte cualquier objeto de Python a su representación en cadena.


s = str(10.5)  # s será '10.5'               

tuple(): Convierte una secuencia en una tupla.


t = tuple([1, 2, 3])  # t será (1, 2, 3)               

list(): Convierte un objeto iterable (por ejemplo, una cadena o una tupla) en una lista. Un objeto iterable es aquel que se puede recorrer secuencialmente, como cadenas, listas o tuplas.


l = list("abc")  # l será ['a', 'b', 'c']               

dict(): Crea un diccionario a partir de una secuencia de pares clave-valor.


d = dict([(1, 'a'), (2, 'b')])  # d será {1: 'a', 2: 'b'}

Hablaremos más adelante sobre diccionarios y tuplas, pero creo que captaron el mensaje principal: si necesitas definir explícitamente un tipo, siempre puedes usar las funciones mencionadas anteriormente.

2.3 Conversión de tipos

En Python, la conversión explícita (o casting) de tipos permite a los programadores controlar y cambiar los tipos de datos de las variables. Esto puede ser útil para garantizar la compatibilidad de datos en varias operaciones o para corregir tipos de datos obtenidos de entradas de usuario o al leer archivos. Básicamente, conversión y casting significan lo mismo: el proceso de cambiar el tipo de datos de un objeto a otro tipo.

Ya estamos algo familiarizados con la conversión explícita de tipos. En Python se realiza mediante funciones integradas, como int(), float(), str(), tuple(), list(), dict(), set() y otras.

Para reforzar, aquí van algunos ejemplos más:

Función Descripción Ejemplo de entrada Ejemplo de salida
int() Conversión a número entero int("10") 10
float() Conversión a número con punto flotante float("20.5") 20.5
str() Conversión a cadena str(15) "15"
tuple() Conversión a tupla tuple([1, 2, 3]) (1, 2, 3)
list() Conversión a lista list("abc") ['a', 'b', 'c']
dict() Creación de diccionario a partir de pares clave-valor dict([(1, 'one'), (2, 'two')]) {1: 'one', 2: 'two'}
set() Creación de conjunto desde una lista set([1, 1, 2, 2, 3, 3]) {1, 2, 3}

Ejemplos de uso

La conversión explícita de tipos se utiliza en muchos escenarios, incluyendo:

  • Procesamiento de entradas del usuario: Asegurando que los datos introducidos coincidan con el tipo de datos esperado.
  • Interoperabilidad de datos: Cuando los datos de diferentes fuentes o APIs tienen que combinarse o compararse.
  • Manejo de errores: Prevención de errores en tiempo de ejecución al convertir datos al tipo adecuado antes de realizar operaciones.

Mejores prácticas y advertencias

La conversión explícita de tipos debe usarse con cuidado para evitar pérdida de datos (por ejemplo, al convertir float a int) o errores de conversión (por ejemplo, intentar convertir una cadena no numérica en un número).

También es importante recordar que algunas conversiones pueden no ser obvias y dar resultados inesperados, lo que requiere una verificación cuidadosa de los datos. Por ejemplo, la conversión de int a bool y viceversa puede tener efectos inesperados :)

2
Tarea
Python SELF ES, nivel 5, lección 2
Bloqueada
Mezcolanza
Mezcolanza
2
Tarea
Python SELF ES, nivel 5, lección 2
Bloqueada
Nada es tan sencillo.
Nada es tan sencillo.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION