1.3Kпросмотров
6.5%от подписчиков
16 марта 2026 г.
Score: 1.4K
Встроенные значения float в Python используют оборудование вашего компьютера напрямую, поэтому любое значение представляется внутренне в виде двоичной дроби. Это означает, что вы обычно работаете с приближениями, а не с точными значениями: >>> format(0.1, '.17f')
'0.10000000000000001' Модуль decimal позволяет использовать десятичную арифметику с произвольной точностью: >>> from decimal import Decimal
>>> Decimal(1) / Decimal(3)
Decimal('0.3333333333333333333333333333') Но и этого может быть недостаточно: >>> Decimal(1) / Decimal(3) Decimal(3) == Decimal(1)
False Для абсолютно точных вычислений можно использовать модуль fractions, который хранит любое число как рациональное: >>> from fractions import Fraction
>>> Fraction(1) / Fraction(3) Fraction(3) == Fraction(1)
True Очевидное ограничение — всё равно приходится использовать приближения для иррациональных чисел, таких как π. 📲 Мы в MAX 👉@BookPython