tipo-float-en-python

El tipo Float en Python

En Python, los números de punto flotante (float) se utilizan para representar números reales, tanto positivos como negativos.

Estos números pueden incluir una parte fraccionaria y se representan utilizando el estándar de punto flotante IEEE 754.

Los números de punto flotante en Python se pueden declarar utilizando notación decimal estándar.

numero_float = 3.14159

También se pueden expresar números de punto flotante en notación científica, usando la letra e para indicar la potencia de diez:

numero_cientifico = 6.022e23  # 6.022 × 10^23

Operaciones con números de punto flotante

Python soporta las operaciones matemáticas básicas con números de punto flotante, como suma, resta, multiplicación y división:

# Suma
suma = 3.14 + 2.71
print(suma)  # Salida: 5.85

# Resta
resta = 10.5 - 4.2
print(resta)  # Salida: 6.3

# Multiplicación
multiplicacion = 2.5 * 4.0
print(multiplicacion)  # Salida: 10.0

# División
division = 10.0 / 3.0
print(division)  # Salida: 3.3333333333333335 (precisión limitada por la representación binaria)

Python también permite realizar otras operaciones avanzadas con números de punto flotante, como potenciación y cálculos trigonométricos usando el módulo math:

import math

# Potenciación
potencia = math.pow(2.0, 3.0)
print(potencia)  # Salida: 8.0

# Seno
seno_valor = math.sin(math.pi / 2)
print(seno_valor)  # Salida: 1.0 (seno de 90 grados en radianes)

Precisión y redondeo

Los números de punto flotante en Python tienen una precisión limitada debido a la representación binaria (esto es limitación común a la mayoría de lenguajes de programación).

Hay que tenerlo en cuenta porque puede llevar a resultados inesperados en ciertos cálculos:

# Suma con precisión limitada
suma_precisa = 0.1 + 0.2
print(suma_precisa)  # Salida: 0.30000000000000004 (precisión limitada)

Debido a la precisión limitada, las comparaciones directas entre números de punto flotante pueden no ser exactas:

a = 0.1 + 0.2
b = 0.3
print(a == b)  # Salida: False (debido a la precisión limitada)

Infinito y Not-a-Number (NaN)

Python también maneja valores especiales como infinito (inf) y Not-a-Number (NaN) para representar resultados fuera de los límites numéricos normales:

# Infinito positivo
infinito_positivo = float('inf')
print(infinito_positivo)  # Salida: inf

# Not-a-Number
nan_valor = float('nan')
print(nan_valor)  # Salida: nan

Conversión entre tipos

Es posible convertir otros tipos de datos a números de punto flotante usando la función float():

texto = "3.14"
numero_float = float(texto)
print(numero_float)  # Salida: 3.14

Los objetos float en Python también tienen métodos útiles, como is_integer() para verificar si el número es un entero:

numero = 3.0
print(numero.is_integer())  # Salida: True (el número 3.0 es un entero)