Перейти до змісту

Дійсні числа

Дійсні числа визначають числа з плаваючою комою.

Створення

Літерали можуть бути представлені у вигляді:

  • чисел, що містять розділювач цілої та дробової частини
  • чисел, що містять символ e або E для позначення порядку числа (експонента)

Інтерпретатор Python розпізнає дійсне число за наявністю символу "." ("крапка") або експоненти (символ e або E). Після того, як число розпізнане, створюється відповідний об’єкт дійсного типу. Такий об’єкт використовується у подальших математичних виразах як об’єкт дійсного типу (а не об’єкт цілого чи іншого типу).

2.85 # звичайне представлення дійсного числа
3. # число 3.0
1.3e-3 # число 0.0013
1.52E6 # 1520000.0
3e2 # 300.0
2.0E-1 # 0.2

Приведення інших типів до float

float(x=0, /)

До float можна привести int або str:

>>> float(1)
1.0
>>> float('1')
1.0
>>> float('1.')
1.0
>>> float('1e2')
100.0
>>> float()
0.0
>>>

Передаючи float() певні значення str можна створювати "особливі" об'єкти.

Нескінченність

>>> float('INFINITY')
inf
>>> float('-infinity')
-inf
>>> float('-inf')
-inf
>>>

В модулі math вже є об'єкт inf а також функція-предикат для порівняння з inf:

>>> from math import inf, isinf
>>> inf
inf
>>> isinf(float('-inf'))
True
>>>

NaN

Особливий об'єкт типу floatNaN (Not a Number). Означає "значення, яке не є числом".

>>> float('NaN')
nan
>>> float('-nan')
nan
>>>

Різні об'єкти NaN не рівні по значенню:

>>> float('nan') == float('nan')
False
>>>

В модулі math вже є об'єкт nan а також функція-предикат для порівняння з NaN:

>>> from math import nan, isnan
>>> nan
nan
>>> isnan(nan)
True
>>> isnan(float('-nan'))
True
>>>

Класи можуть реалізовувати власний метод __float__() для приведення об'єкта до float.

Додаткові матеріали

Back to top