Manipulación y conversión de tipos numéricos en Python
Clase 10 de 32 • Curso 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)) #
print(type(y)) #
print(type(z)) #
¿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)) #
print(xf) # 1.0
# Flotante a entero: trunca
y = 2.5
ye = int(y)
print(type(ye)) #
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)
print(flotante_complejo, type(flotante_complejo)) # (5.5+0j)
¿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.