Manipulación y conversión de tipos numéricos en Python

Clase 10 de 32Curso de Fundamentos de Python

Resumen

Aprende a manejar números en Python con precisión: identifica tipos con type, convierte con float, int y complex, y genera aleatorios con random.randrange. Con estos fundamentos evitarás pérdidas de datos por truncado y entenderás por qué el límite superior no se incluye.

¿Qué tipos de números en Python y cómo identificarlos?

Python trabaja con enteros, flotantes y complejos. Los enteros y flotantes aceptan valores positivos y negativos, y los complejos usan la letra j para la parte imaginaria. La función type permite verificar el tipo exacto.

  • Enteros y flotantes: positivos y negativos.
  • Complejos: parte real y parte imaginaria con j.
  • Verificación de tipo con type.
  • Nombres en inglés: integer, float y complex.

# Tipos numéricos y verificación x = 1 # entero y = 2.5 # flotante z = 5 + 1j # complejo (parte real 5, parte imaginaria 1j) print(type(x)) # <class 'int'> print(type(y)) # <class 'float'> print(type(z)) # <class 'complex'>

¿Cómo se representan los complejos en Python?

  • La parte real se escribe normal y la imaginaria con j.
  • Ejemplos válidos: 5 + 1j, -5 - 1j.
  • Se aceptan combinaciones con signos positivos y negativos.

¿Cómo castear números sin perder datos?

El casteo obliga a una variable a comportarse como otro tipo. Pasar de entero a flotante agrega la parte decimal .0. Pasar de flotante a entero trunca el valor, lo cual puede ser riesgoso si trabajas con datos sensibles.

# Entero a flotante: agrega .0 x = 1 xf = float(x) print(type(xf)) # <class 'float'> print(xf) # 1.0 # Flotante a entero: trunca y = 2.5 ye = int(y) print(type(ye)) # <class 'int'> print(ye) # 2 # cuidado: se pierde la parte decimal

¿Qué precauciones tomar al convertir tipos?

  • De float a int se pierde información por truncado.
  • Evita castear a entero si el decimal importa.
  • Verifica con type antes y después del casteo.

¿Cómo trabajar con complejos y convertir desde int o float?

Se puede convertir de entero y flotante a complejo usando complex. La parte imaginaria se completa con 0j por defecto. El camino inverso (de complejo a entero o flotante) no está disponible.

entero = 5 flotante = 5.5 entero_complejo = complex(entero) flotante_complejo = complex(flotante) print(entero_complejo, type(entero_complejo)) # (5+0j) <class 'complex'> print(flotante_complejo, type(flotante_complejo)) # (5.5+0j) <class 'complex'>

¿Qué limitaciones existen al convertir complejos?

  • De int/float a complex: permitido con complex.
  • De complex a int/float: no permitido.
  • La parte imaginaria agregada es 0j cuando no se especifica.

¿Cómo generar números aleatorios con random?

Para obtener números aleatorios, importa el módulo random y usa random.randrange. El límite superior no se incluye: randrange(1, 10) devuelve valores entre 1 y 9.

import random print(random.randrange(1, 10)) # entero aleatorio entre 1 y 9

¿Qué debes recordar de randrange?

  • Incluye el inicio, excluye el fin.
  • Ejecuta varias veces para ver resultados distintos.
  • Útil para aplicaciones como juegos que requieren aleatoriedad.

¿Te quedó alguna duda o tienes un caso de uso concreto? Cuéntalo en los comentarios y probamos el código juntos.