Python Glossary English

Python 3.8+Числа и математикафункция

int.as_integer_ratio

как дробь

Возвращает пару (числитель, знаменатель) с знаменателем 1 — целое как несократимая дробь. Полезно для единообразия с float/Fraction.

Синтаксис

n.as_integer_ratio()

Сам по себе метод ничего не вычисляет — знаменатель всегда 1; он нужен, чтобы обрабатывать int, float, Decimal и Fraction единообразно, без разветвления по типу. Появился в Python 3.8, на более старых версиях у int его нет. И не ждите «человеческой» дроби от float.as_integer_ratio(): он возвращает точное двоичное представление, поэтому у 0.1 знаменателем окажется огромная степень двойки, а не 10.

Примеры

print((5).as_integer_ratio())   # → (5, 1)
print((-8).as_integer_ratio())  # → (-8, 1)
print((0).as_integer_ratio())   # → (0, 1)
print(True.as_integer_ratio())  # → (1, 1)
a, b = (3).as_integer_ratio(), (0.75).as_integer_ratio()
print(a, b)  # → (3, 1) (3, 4)

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности