Сообщайте о событиях, которые происходят во время нормальной работы программы (например, для мониторинга состояния или расследования ошибок).¶
Este módulo fornece acesso à constantes e funções matemáticas comuns, incluindo aquelas definidas pelo padrão C.
Ці функції не можна використовувати з комплексними числами; використовуйте однойменні функції з модуля cmath
, якщо вам потрібна підтримка комплексних чисел. Розрізнення між функціями, які підтримують комплексні числа, і тими, які не підтримують, зроблено, оскільки більшість користувачів не хочуть вивчати стільки математики, скільки потрібно для розуміння комплексних чисел. Отримання винятку замість комплексного результату дозволяє раніше виявити неочікуване комплексне число, яке використовується як параметр, щоб програміст міг визначити, як і чому воно взагалі було згенероване.
Цей модуль забезпечує такі функції. За винятком випадків, коли явно зазначено інше, усі повернуті значення є числами з плаваючою точкою.
Теоретико-числовые функции |
|
Количество способов выбрать k предметов из n предметов без повторения и без порядка |
|
n факториал |
|
Наибольший общий делитель целочисленных аргументов |
|
Целый квадратный корень из неотрицательного целого числа n |
|
Наименьшее общее кратное целочисленных аргументов |
|
Количество способов выбрать k предметов из n предметов без повторения и в порядке |
|
Арифметика с плавающей запятой |
|
Потолок x, наименьшее целое число, большее или равное x |
|
Абсолютное значение x |
|
Этаж x, наибольшее целое число, меньшее или равное x |
|
Объединенная операция умножения-сложения: |
|
n факториал |
|
Дробная и целая части x |
|
Остаток x относительно y |
|
Целая часть x |
|
Функции манипуляции с плавающей запятой |
|
Величина (абсолютное значение) x со знаком y |
|
Мантисса и показатель x |
|
Проверьте, близки ли значения a и b друг к другу. |
|
Проверьте, не является ли x ни бесконечностью, ни NaN. |
|
Проверьте, является ли x положительной или отрицательной бесконечностью. |
|
Проверьте, является ли x NaN (а не числом) |
|
|
|
Значение с плавающей запятой шаги шаги после x в сторону y |
|
Значение младшего бита x |
|
Степеньевые, показательные и логарифмические функции |
|
Кубический корень из x |
|
e возведено в степень x |
|
2 возведен в степень x |
|
e возведено в степень x, минус 1 |
|
Логарифм x по заданному основанию (по умолчанию e) |
|
Натуральный логарифм 1+x (по основанию e) |
|
Логарифм по основанию 2 от x |
|
Логарифм по основанию 10 от x |
|
x возведен в степень y |
|
Квадратный корень из x |
|
Функции суммирования и произведения |
|
Евклидово расстояние между двумя точками p и q, заданными как итерация координат |
|
Сумма значений во входных данных итерируемая |
|
Евклидова норма итерации координат |
|
Произведение элементов входных данных iterable со значением start |
|
Сумма произведений двух итераций p и q |
|
Угловое преобразование |
|
Перевести угол x из радиан в градусы |
|
Перевести угол x из градусов в радианы |
|
Тригонометрические функции |
|
Арккосинус x |
|
Арксинус x |
|
Арктангенс x |
|
|
|
Косинус x |
|
Синус x |
|
Тангенс x |
|
Гиперболические функции |
|
Обратный гиперболический косинус x |
|
Обратный гиперболический синус x |
|
Обратный гиперболический тангенс x |
|
Гиперболический косинус x |
|
Гиперболический синус x |
|
Гиперболический тангенс x |
|
Специальные функции |
|
Функция ошибки в x |
|
Гамма-функция в x |
|
Натуральный логарифм абсолютного значения гамма-функции в x |
|
Константы |
|
π = 3.141592… |
|
e = 2.718281… |
|
τ = 2π = 6.283185… |
|
Положительная бесконечность |
|
«Не число» (NaN) |
Теоретико-числовые функции¶
- math.comb(n, k)¶
Повертає кількість способів вибору k елементів з n елементів без повторення та без порядку.
Оцінюється як
n! / (k! * (n - k)!)
колиk <= n
and evaluates to zero whenk > n
.Также называется биномиальным коэффициентом, потому что он эквивалентен коэффициенту k-го члена в полиномиальном разложении
(1 + x)ⁿ
.Викликає
TypeError
, якщо один із аргументів не є цілим числом. ВикликаєValueError
, якщо будь-який з аргументів негативний.Dodane w wersji 3.8.
- math.factorial(n)¶
Retorna fatorial do inteiro não negativo n.
Zmienione w wersji 3.10: Плавающие числа с целыми значениями (например,
5.0
) больше не принимаются.
- math.gcd(*integers)¶
Повертає найбільший спільний дільник указаних цілих аргументів. Якщо будь-який з аргументів не дорівнює нулю, то повернуте значення є найбільшим натуральним числом, яке є дільником усіх аргументів. Якщо всі аргументи дорівнюють нулю, то повертається значення
0
.gcd()
без аргументів повертає0
.Dodane w wersji 3.5.
Zmienione w wersji 3.9: Додано підтримку довільної кількості аргументів. Раніше підтримувалися лише два аргументи.
- math.isqrt(n)¶
Повертає цілий квадратний корінь із цілого невід’ємного числа n. Це нижня частина точного квадратного кореня з n або, що еквівалентно, найбільше ціле число a таке, що a² ≤ n.
Для деяких програм може бути зручніше мати найменше ціле a таке, що n ≤ a², або іншими словами, стеля точного квадратного кореня з n. Для позитивного n це можна обчислити за допомогою
a = 1 + isqrt(n - 1)
.Dodane w wersji 3.8.
- math.lcm(*integers)¶
Повертає найменше спільне кратне вказаних цілих аргументів. Якщо всі аргументи відмінні від нуля, тоді повертається найменше натуральне число, кратне всім аргументам. Якщо будь-який з аргументів дорівнює нулю, то повертається значення
0
.lcm()
без аргументів повертає1
.Dodane w wersji 3.9.
- math.perm(n, k=None)¶
Повернути кількість способів вибору k елементів з n елементів без повторення та з порядком.
Оцінюється як
n! / (n - k)!
колиk <= n
and evaluates to zero whenk > n
.Если k не указано или равно
None
, тогда k по умолчанию равно n, и функция возвращаетn!
.Викликає
TypeError
, якщо один із аргументів не є цілим числом. ВикликаєValueError
, якщо будь-який з аргументів негативний.Dodane w wersji 3.8.
Арифметика с плавающей запятой¶
- math.ceil(x)¶
Повертає максимальне значення x, найменше ціле число, більше або рівне x. Якщо x не є числом з плаваючою точкою, делегує
x.__ceil__
, який має повернути значенняIntegral
.
- math.fabs(x)¶
Повертає абсолютне значення x.
- math.floor(x)¶
Повертає нижню частину x, найбільше ціле число, менше або дорівнює x. Якщо x не є числом з плаваючою точкою, делегує
x.__floor__
, який має повернути значенняIntegral
.
- math.fma(x, y, z)¶
Объединенная операция умножения-сложения. Возвращает
(x * y) + z
, вычисляемое как будто с бесконечной точностью и диапазоном, за которым следует один раунд в форматеfloat
. Эта операция часто обеспечивает лучшую точность, чем прямое выражение(x * y) + z
.Эта функция соответствует спецификации операции FusedMultiplyAdd, описанной в стандарте IEEE 754. Стандарт оставляет один случай определяемым реализацией, а именно результат
fma(0, inf, nan)
иfma(inf, 0, nan)
. В этих случаях math.fma возвращает NaN и не вызывает никаких исключений.Dodane w wersji 3.13.
- math.fmod(x, y)¶
Возвращает остаток с плавающей запятой от
x / y
, как определено функцией библиотеки платформы Cfmod(x, y)
. Обратите внимание, что выражение Pythonx % y
может не возвращать тот же результат. Целью стандарта C является то, чтобыfmod(x, y)
был точно (математически; с бесконечной точностью) равнымx - n*y
для некоторого целого числа n, такого, что результат имеет тот же знак, что и x, и величина меньше, чемabs(y)
. Вместо этогоx % y
в Python возвращает результат со знаком y и может быть не совсем вычислимым для аргументов с плавающей запятой. Например,fmod(-1e-100, 1e100)
— это-1e-100
, но результатом Python-1e-100 % 1e100
будет1e100-1e-100
, которое невозможно представить в точности как число с плавающей запятой, и округляется до удивительного числа ``1e100`. По этой причине функцияfmod()
обычно предпочтительнее при работе с числами с плавающей запятой, а функция Pythonx % y
предпочтительнее при работе с целыми числами.
- math.modf(x)¶
Повертає дробову та цілу частини x. Обидва результати мають знак x і є числами з плаваючою точкою.
Обратите внимание, что
modf()
имеет другой шаблон вызова/возврата, чем его эквиваленты на C: он принимает один аргумент и возвращает пару значений, а не возвращает второе возвращаемое значение через «выходной параметр» (такого не существует). вещь в Python).
- math.remainder(x, y)¶
Повертає залишок x у стилі IEEE 754 відносно y. Для кінцевого x і кінцевого ненульового y це різниця
x - n*y
, деn
є найближчим цілим числом до точного значення часткиx / y
. Якщоx / y
знаходиться точно посередині між двома послідовними цілими числами, дляn
використовується найближче парне ціле число. Таким чином, залишокr = залишок(x, y)
завжди задовольняєabs(r) <= 0,5 * abs(y)
.Спеціальні випадки відповідають стандарту IEEE 754: зокрема,
remainder(x, math.inf)
є x для будь-якого кінцевого x, аremainder(x, 0)
іremainder(math.inf). inf, x)
піднятиValueError
для будь-якого не-NaN x. Якщо результатом операції залишку є нуль, цей нуль матиме той самий знак, що й x.На платформах, использующих двоичную плавающую запятую IEEE 754, результат этой операции всегда точно представим: ошибка округления не возникает.
Dodane w wersji 3.7.
- math.trunc(x)¶
Поверніть x із видаленням дробової частини, залишаючи цілу частину. Це округляє до 0:
trunc()
еквівалентноfloor()
для додатного x та еквівалентноceil()
для від’ємного x. Якщо x не є числом з плаваючою точкою, делегуєx.__trunc__
, який має повернути значенняIntegral
.
Для функцій ceil()
, floor()
і modf()
зауважте, що всі числа з плаваючою комою досить великої величини є точними цілими числами. Python зазвичай містить не більше 53 бітів точності (так само, як і подвійний тип платформи C), у цьому випадку будь-яке число з плаваючою речовиною x із abs(x) >= 2**52
обов’язково не має дробових бітів. .
Функции манипуляции с плавающей запятой¶
- math.copysign(x, y)¶
Повертає число з плаваючою точкою з величиною (абсолютним значенням) x, але зі знаком y. На платформах, які підтримують нулі зі знаком,
copysign(1.0, -0.0)
повертає -1.0.
- math.frexp(x)¶
Повертає мантису та експонент x як пару
(m, e)
. m є числом з плаваючою точкою, а e є цілим числом таким чином, щоx == m * 2**e
точно. Якщо x дорівнює нулю, повертає(0,0, 0)
, інакше0,5 <= abs(m) < 1
. Це використовується, щоб „розібрати” внутрішнє представлення float переносним способом.Обратите внимание, что
frexp()
имеет другой шаблон вызова/возврата, чем его эквиваленты на C: он принимает один аргумент и возвращает пару значений, а не возвращает второе возвращаемое значение через «выходной параметр» (такого не существует). вещь в Python).
- math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)¶
Zwraca
True
jeżeli wartości a i b są zbliżone do siebie iFalse
w przeciwnym wypadku.Считаются ли два значения близкими или нет, определяется в соответствии с заданными абсолютными и относительными допусками. Если ошибок не возникнет, результатом будет:
abs(ab) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)
.rel_tol — это относительный допуск — это максимально допустимая разница между a и b относительно большего абсолютного значения a или b. Например, чтобы установить допуск 5 %, укажите rel_tol=0,05. Допуск по умолчанию — «1e-09», который гарантирует, что два значения одинаковы в пределах примерно 9 десятичных цифр. rel_tol должен быть неотрицательным и меньше
1.0
.abs_tol — это абсолютный допуск; по умолчанию он равен
0.0
и должен быть неотрицательным. При сравненииx
с0.0
,isclose(x, 0)
вычисляется какabs(x) <= rel_tol * abs(x)
, что равноFalse
для любого ненулевогоx
и rel_tol меньшего, чем1.0
. Поэтому добавьте соответствующий положительный аргумент abs_tol к вызову.Спеціальні значення IEEE 754
NaN
,inf
і-inf
оброблятимуться відповідно до правил IEEE. Зокрема,NaN
не вважається близьким до будь-якого іншого значення, включаючиNaN
.inf
і-inf
вважаються лише близькими до самих себе.Dodane w wersji 3.5.
Zobacz także
PEP 485 – Функція для перевірки приблизної рівності
- math.isfinite(x)¶
Повертає
True
, якщо x не є ні нескінченністю, ні NaN, іFalse
в іншому випадку. (Зверніть увагу, що0.0
вважається кінцевим.)Dodane w wersji 3.2.
- math.isinf(x)¶
Повертає
True
, якщо x є додатною або від’ємною нескінченністю, іFalse
в іншому випадку.
- math.isnan(x)¶
Повертає
True
, якщо x є NaN (а не число), іFalse
в іншому випадку.
- math.nextafter(x, y, steps=1)¶
Возвращает значение с плавающей запятой шаги шаги после x в сторону y.
Если x равно y, верните y, если только steps не равно нулю.
Przykłady:
math.nextafter(x, math.inf)
йде вгору: до позитивної нескінченності.math.nextafter(x, -math.inf)
йде вниз: до мінус нескінченності.math.nextafter(x, 0.0)
рухається до нуля.math.nextafter(x, math.copysign(math.inf, x))
відходить від нуля.
Дивіться також
math.ulp()
.Dodane w wersji 3.9.
Zmienione w wersji 3.12: Добавлен аргумент steps.
- math.ulp(x)¶
Повертає значення молодшого біта числа з плаваючою точкою x:
Якщо x є NaN (а не числом), поверніть x.
Якщо x від’ємне, поверніть
ulp(-x)
.Якщо x є позитивною нескінченністю, поверніть x.
Якщо x дорівнює нулю, поверніть найменше додатне деноралізоване число з плаваючою точкою (менше ніж мінімальне позитивне нормалізоване число з плаваючою точкою,
sys.float_info.min
).Якщо x дорівнює найбільшому додатному репрезентативному float, поверніть значення молодшого значущого біта x, щоб перше число з плаваючою точкою, менше за x, було
x - ulp(x)
.В іншому випадку (x — додатне скінченне число) поверніть значення молодшого біта x, щоб перше число з плаваючою речовиною, більше за x, було
x + ulp(x)
.
ULP розшифровується як „Unit in the Last Place”.
Дивіться також
math.nextafter()
іsys.float_info.epsilon
.Dodane w wersji 3.9.
Степенные, показательные и логарифмические функции¶
- math.cbrt(x)¶
Возвращает кубический корень x.
Dodane w wersji 3.11.
- math.exp(x)¶
Поверніть e у степені x, де e = 2,718281… є основою натуральних логарифмів. Зазвичай це точніше, ніж
math.e ** x
абоpow(math.e, x)
.
- math.exp2(x)¶
Верните 2, возведенную в степень x.
Dodane w wersji 3.11.
- math.expm1(x)¶
Верните e, возведенное в степень x, минус 1. Здесь e — это основание натуральных логарифмов. Для небольших чисел с плавающей запятой x вычитание в
exp(x) - 1
может привести к ``значительной потере точности <https://en.wikipedia.org/wiki/Loss_of_significance>`_; функцияexpm1()
позволяет вычислить эту величину с полной точностью:>>> from math import exp, expm1 >>> exp(1e-5) - 1 # gives result accurate to 11 places 1.0000050000069649e-05 >>> expm1(1e-5) # result accurate to full precision 1.0000050000166668e-05
Dodane w wersji 3.2.
- math.log(x[, base])¶
З одним аргументом повертає натуральний логарифм x (за основою e).
З двома аргументами повертає логарифм від x до заданої основи, обчислений як
log(x)/log(основа)
.
- math.log1p(x)¶
Повертає натуральний логарифм 1+x (за основою e). Результат обчислюється таким чином, що є точним для x біля нуля.
- math.log2(x)¶
Повертає логарифм x за основою 2. Зазвичай це точніше, ніж
log(x, 2)
.Dodane w wersji 3.3.
Zobacz także
int.bit_length()
повертає кількість бітів, необхідну для представлення цілого числа в двійковій формі, за винятком знака та нулів на початку.
- math.log10(x)¶
Повертає логарифм x за основою 10. Зазвичай це точніше, ніж
log(x, 10)
.
- math.pow(x, y)¶
Верните x, возведенное в степень y. В исключительных случаях, насколько это возможно, следуйте стандарту IEEE 754. В частности,
pow(1.0, x)
иpow(x, 0.0)
всегда возвращают1.0
, даже если x равно нулю или NaN. Если оба x и y конечны, x отрицательное значение и y не является целым числом, тогдаpow(x, y)
не определен и вызываетValueError
.На відміну від вбудованого оператора
**
,math.pow()
перетворює обидва свої аргументи на типfloat
. Використовуйте**
або вбудовану функціюpow()
для обчислення точних цілих степенів.Zmienione w wersji 3.11: Особые случаи
pow(0.0, -inf)
иpow(-0.0, -inf)
были изменены, чтобы возвращатьinf
вместо вызоваValueError
, для согласованности с IEEE. 754.
- math.sqrt(x)¶
Повертає квадратний корінь з x.
Суммирование и функции произведения¶
- math.dist(p, q)¶
Повертає евклідову відстань між двома точками p і q, кожна з яких задана як послідовність (або повторювана) координат. Дві точки повинні мати однаковий розмір.
Приблизно еквівалентно:
sqrt(sum((px - qx) ** 2.0 for px, qx in zip(p, q)))
Dodane w wersji 3.8.
- math.fsum(iterable)¶
Возвращает точную сумму значений с плавающей запятой в итерируемом объекте. Избегает потери точности за счет отслеживания нескольких промежуточных частичных сумм.
Точність алгоритму залежить від арифметичних гарантій IEEE-754 і типового випадку, коли режим округлення є напівпарним. У деяких збірках, відмінних від Windows, базова бібліотека C використовує розширену точність додавання та іноді може подвоїти округлення проміжної суми, спричиняючи її вимкнення у своєму молодшому розряді.
Для дальнейшего обсуждения и двух альтернативных подходов см. «Рецепты ASPN для точного суммирования с плавающей запятой <https://code.activestate.com/recipes/393090-binary-floating-point-summation-accurate-to-full-p». />`_.
- math.hypot(*coordinates)¶
Повертає евклідову норму,
sqrt(sum(x**2 для x у координатах))
. Це довжина вектора від початку координат до точки, заданої координатами.Для двовимірної точки
(x, y)
це еквівалентно обчисленню гіпотенузи прямокутного трикутника за допомогою теореми Піфагораsqrt(x*x + y*y)
.Zmienione w wersji 3.8: Додано підтримку n-вимірних точок. Раніше підтримувався лише двовимірний випадок.
Zmienione w wersji 3.10: Покращено точність алгоритму, щоб максимальна помилка була менше 1 ulp (одиниця на останньому місці). Як правило, результат майже завжди правильно округлюється з точністю до 1/2 ulp.
- math.prod(iterable, *, start=1)¶
Обчислити добуток усіх елементів у вхідному iterable. Типовим початковим значенням для продукту є „1”.
Коли iterable порожній, поверніть початкове значення. Ця функція призначена спеціально для використання з числовими значеннями та може відхиляти нечислові типи.
Dodane w wersji 3.8.
- math.sumprod(p, q)¶
Возвращает сумму произведений значений двух итераций p и q.
Вызывает
ValueError
, если входные данные имеют разную длину.Приблизно еквівалентно:
sum(itertools.starmap(operator.mul, zip(p, q, strict=True)))
Для входных данных с плавающей запятой и смешанных значений типа int/float промежуточные продукты и суммы вычисляются с повышенной точностью.
Dodane w wersji 3.12.
Кутове перетворення¶
- math.degrees(x)¶
Перетворіть кут x з радіан на градуси.
- math.radians(x)¶
Переведіть кут x із градусів у радіани.
Тригонометричні функції¶
- math.acos(x)¶
Повертає арккосинус x у радіанах. Результат між
0
іpi
.
- math.asin(x)¶
Повертає арксинус x у радіанах. Результат знаходиться між
-pi/2
іpi/2
.
- math.atan(x)¶
Повертає арктангенс x у радіанах. Результат знаходиться між
-pi/2
іpi/2
.
- math.atan2(y, x)¶
Повертає
atan(y / x)
, у радіанах. Результат знаходиться між-pi
іpi
. Вектор у площині від початку координат до точки „(x, y)” утворює цей кут із додатною віссю X. Сутьatan2()
полягає в тому, що йому відомі знаки обох вхідних даних, тому він може обчислити правильний квадрант для кута. Наприклад,atan(1)
іatan2(1, 1)
обидва єpi/4
, алеatan2(-1, -1)
є-3*pi/4
.
- math.cos(x)¶
Повертає косинус x радіан.
- math.sin(x)¶
Повернути синус x радіан.
- math.tan(x)¶
Повертає тангенс x радіан.
Гіперболічні функції¶
Гиперболические функции — это аналоги тригонометрических функций, основанные на гиперболах вместо окружностей.
- math.acosh(x)¶
Повертає арккосинус x.
- math.asinh(x)¶
Повертає гіперболічний арксинус x.
- math.atanh(x)¶
Повертає гіперболічний обернений тангенс x.
- math.cosh(x)¶
Zwraca cosinus hiperboliczny z x.
- math.sinh(x)¶
Zwraca sinus hiperboliczny z x.
- math.tanh(x)¶
Zwraca tangens hiperboliczny z x.
Спеціальні функції¶
- math.erf(x)¶
Повертає функцію помилки у x.
Функцию
erf()
можно использовать для вычисления традиционных статистических функций, таких как кумулятивное стандартное нормальное распределение:def phi(x): 'Cumulative distribution function for the standard normal distribution' return (1.0 + erf(x / sqrt(2.0))) / 2.0
Dodane w wersji 3.2.
- math.erfc(x)¶
Повертає функцію додаткової помилки в x. Додаткова функція помилок визначається як
1.0 - erf(x)
. Він використовується для великих значень x, де віднімання від одиниці спричинило б втрату значущості.Dodane w wersji 3.2.
- math.gamma(x)¶
Повертає Гамма-функцію у x.
Dodane w wersji 3.2.
- math.lgamma(x)¶
Повертає натуральний логарифм абсолютного значення гамма-функції при x.
Dodane w wersji 3.2.
Stały¶
- math.pi¶
Математична константа π = 3,141592… з доступною точністю.
- math.e¶
Математична константа e = 2,718281… з доступною точністю.
- math.tau¶
A constante matemática τ = 6.283185…, para a precisão disponível. Tau é uma constante de círculo igual a 2π, a razão entre a circunferência de um círculo e seu raio. Para saber mais sobre Tau, confira o vídeo Pi is (still) Wrong de Vi Hart, e comece a comemorar o dia do Tau comendo duas vezes mais torta!
Dodane w wersji 3.6.
- math.inf¶
Додатна нескінченність із плаваючою комою. (Для негативної нескінченності використовуйте
-math.inf
.) Еквівалент виведенняfloat('inf')
.Dodane w wersji 3.5.
- math.nan¶
Значение с плавающей запятой, не являющееся числом (NaN). Эквивалент вывода
float('nan')
. В связи с требованиями стандарта IEEE-754 <https://en.wikipedia.org/wiki/IEEE_754>`_,math.nan
иfloat('nan')
не учитываются. быть равным любому другому числовому значению, включая себя. Чтобы проверить, является ли число NaN, используйте функциюisnan()
для проверки NaN вместоis
или==
. Пример:>>> import math >>> math.nan == math.nan False >>> float('nan') == float('nan') False >>> math.isnan(math.nan) True >>> math.isnan(float('nan')) True
Dodane w wersji 3.5.
Zmienione w wersji 3.11: Теперь он всегда доступен.
Модуль math
складається здебільшого з тонких обгорток навколо функцій математичної бібліотеки платформи C. Поведінка у виняткових випадках відповідає додатку F стандарту C99, де це необхідно. Поточна реалізація викличе ValueError
для недійсних операцій, таких як sqrt(-1.0)
або log(0.0)
(де C99 Додаток F рекомендує сигналізувати про недійсну операцію або ділення на нуль), і OverflowError
для результатів, які переповнюються (наприклад, exp(1000.0)
). NaN не буде повернено жодною з наведених вище функцій, якщо один або більше вхідних аргументів не були NaN; у цьому випадку більшість функцій повертатиме NaN, але (знову ж таки відповідно до Додатку F C99) є деякі винятки з цього правила, наприклад pow(float('nan'), 0.0)
або hypot(float ('nan'), float('inf'))
.
Зауважте, що Python не робить жодних зусиль, щоб відрізнити сигнальні NaN від тихих NaN, і поведінка для сигнальних NaN залишається невизначеною. Типовою поведінкою є ставлення до всіх NaN так, ніби вони тихі.
Zobacz także
- Модуль
cmath
Версії комплексних чисел багатьох із цих функцій.