TGViewer
Библиотека Python разработчика | Книги по питону Библиотека Python разработчика | Книги по питону @bookpython · 18.1K subscribers
Post #3935 2.07K
Нативные значения float в Python используют аппаратные возможности вашего компьютера, поэтому любое значение внутренне представлено в виде двоичной дроби.

Это означает, что в большинстве случаев вы работаете с приближениями, а не с точными значениями:


In : format(0.1, '.17f')
Out: '0.10000000000000001'


Модуль decimal позволяет использовать десятичную арифметику с произвольной точностью:


In : Decimal(1) / Decimal(3)
Out: Decimal('0.3333333333333333333333333333')


Однако и этого может быть недостаточно:


In [61]: Decimal(1) / Decimal(3) * Decimal(3) == Decimal(1)
Out[61]: False


Для точных вычислений можно использовать fractions, где любое число хранится в виде рационального:


In : Fraction(1) / Fraction(3) * Fraction(3) == Fraction(1)
Out: True


Очевидным ограничением остается то, что иррациональные числа (например, π) все равно будут представлены только в приближенной форме.

📲 Мы в MAX

👉@BookPython
  • 👍 2
  • 💩 2
More from @bookpython
  1. Sep 25, 2026Как быстро очистить список в Python? Сегодня я покажу вам несколько способов очистки списк…
  2. Sep 24, 2026🚀 5 крутых Python-фишек, о которых знают не все Python — мощный и удобный язык, но даже о…
  3. Sep 23, 2026🔥 Как ускорить Python-код в 10 раз? Сегодня покажу вам мощный инструмент для оптимизации…
  4. Sep 21, 202610 полезных библиотек для Python-разработчика Сегодня я подготовил для вас подборку из 10…
  5. Sep 16, 2026Если у вас есть ресурсоемкая задача для процессора и вы хотите использовать все доступные…
  6. Sep 15, 2026Protocol vs ABC: Утиная типизация на стероидах (Static Duck Typing) В классическом ООП (Ja…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →