Fraction almacena números racionales como enteros normalizados. Es útil en proporciones, medidas discretas y algoritmos donde 1/3 debe seguir siendo exactamente un tercio.

Ejemplo práctico

from fractions import Fraction

ratio = Fraction(3, 8) + Fraction(1, 4)
from_text = Fraction("0.125")

print(ratio)
print(from_text)
assert ratio == Fraction(5, 8)

Construye desde la fuente correcta

Prefiere enteros, otra fracción o una cadena decimal. Crear desde un float conserva su valor binario exacto y puede producir un denominador inesperado.

La exactitud tiene un coste

Las fracciones pueden crecer durante las operaciones y cuestan más que los floats. Usa limit_denominator() solo si aceptas aproximación. Para dinero, las reglas decimales suelen hacer que Decimal sea más claro.

Sigue aprendiendo

Consulta también Decimal en Python para Cálculos Monetarios y statistics en Python: Media, Mediana y Cuantiles. A documentación oficial de Python, consultada el 22 de julio de 2026, detalla la API y el comportamiento entre versiones.