Python Glossary English

Python 3.15+mathфункция

math.fmax()

сравнение

Большее из двух float, где NaN считается пропуском: fmax(nan, 1.0) даёт 1.0, тогда как max() с NaN ведёт себя непредсказуемо.

Синтаксис

math.fmax(x, y)

Встроенный max() сравнивает через <, а любое сравнение с NaN ложно, поэтому результат зависит от порядка: max(nan, 1.0) — nan, а max(1.0, nan) — 1.0. fmax по стандарту C игнорирует NaN, если второе значение число, и возвращает NaN, только если оба NaN. Для нулей знак результата не гарантирован: fmax(0.0, -0.0) может вернуть любой из них. Работает только с двумя аргументами и всегда возвращает float.

Примеры

import math
nan = float('nan')
print(math.fmax(nan, 1.0), math.fmax(1.0, nan))  # → 1.0 1.0
print(max(nan, 1.0), max(1.0, nan))  # → nan 1.0 — max зависит от порядка

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности