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Сообщить о неточности