Fraction armazena números racionais como inteiros normalizados. É útil em proporções, medidas discretas e algoritmos nos quais 1/3 precisa continuar sendo exatamente um terço.

Exemplo prático

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)

Construa a partir da fonte certa

Prefira inteiros, outra fração ou uma string decimal. Criar uma fração a partir de um float preserva o valor binário exato do float, que pode gerar um denominador inesperado.

Exatidão tem custo

Frações podem crescer durante operações e custam mais que floats. Use limit_denominator() apenas quando uma aproximação for aceitável. Para dinheiro, regras de arredondamento decimal costumam tornar Decimal a escolha mais clara.

Continue estudando

Leia também Decimal em Python para Cálculos Monetários e statistics em Python: Média, Mediana e Quantis. A documentação oficial do Python, consultada em 22 de julho de 2026, detalha a API e o comportamento entre versões.