В этом разделе представлены константы и специальные значения модуля math
.
Рi
,e
,Inf
,NaN
,NaN
,math.pi
:Константа math.pi
возвращает значение математической константы π
с точностью, которая зависит от конкретной платформы.
>>> import math >>> math.pi # 3.141592653589793
math.e
:Константа math.e
возвращает значение математической константы e
с точностью, которая зависит от конкретной платформы.
>>> import math >>> math.e # 2.718281828459045
math.inf
:Константа math.inf
возвращает положительную бесконечность, значение которое является типом float
и может присутствовать в математических выражениях.
>>> import math >>> math.inf # inf >>> math.inf**0.5 # inf
Данное значение можно получить с помощью выражения float('inf')
. А что бы получить отрицательную бесконечность достаточно добавить перед командой унарный оператор '-'
>>> float('inf') # inf >>> -math.inf # -inf
math.nan
:Константа math.nan
возвращает значение "не число" (NaN
) которое является типом float
и может присутствовать в математических выражениях. Эквивалентно выражению float('nan')
.
В соответствии с требованиями стандарта IEEE-754 math.nan
и float('nan')
не считаются равными никакому другому числовому значению, включая самих себя. Для проверки соответствия числа NaN
, необходимо использовать функцию isnan()
вместо операторов is
или ==
.
Изменено в версии 3.11: Теперь всегда доступно.
Пример:
>>> import math >>> math.nan == math.nan # False >>> float('nan') == float('nan') # False >>> math.isnan(math.nan) # True >>> math.isnan(float('nan')) # True
math.isinf(x)
:Функция math.isinf()
возвращает True
в случаях, когда x
является отрицательной или положительной бесконечностью, иначе возвращает False
.
>>> import math >>> math.isinf(-math.inf) # True >>> math.isinf(3.14) # False
math.isnan(x)
:Функция math.isnan()
возвращает True
если x
является nan
, иначе возвращает False
.
>>> import math >>> math.isnan(math.nan) # True >>> math.isnan(3.14) # False
math.isfinite(x)
:Функция math.isfinite()
возвращает False
если x
является либо nan
, либо inf
или -inf
, во всех остальных случаях возвращается True
.
>>> from math import isfinite >>> isfinite(float('inf')) # False >>> isfinite(float('nan')) # False >>> isfinite(0) # True