/ / Чому це десятковий. - пітон, десяткове, раціональне число

Чому десятковий.Decimal об'єкт не вважається раціональним? - python, десяткове, раціональне число

Пітон Decimal зберігає номер базового 10, який можна розглядати як співвідношення з потужністю 10 на дні.

Так чому ж це відбувається?

from decimal import Decimal
from numbers import Rational

assert issubclass(Decimal, Rational)

Відповіді:

2 для відповіді № 1

З тієї ж причини float не є Rational: при цьому всі не нескінченні, не-NaN значення float або Decimal є раціональними, типи призначені для моделювання арифметики реального числа. Наприклад, вони підтримують квадратні корені:

2.0**0.5
Decimal(2).sqrt()

що клас, призначений для моделювання раціональних чи або підмножини раціоналів, не буде.

(Так, добре, ви можете це зробити 2**0.5, але що примушує int до float.)