Python Glossary English

все Python 3Числа и математикафункция

math.copysign

представление

Возвращает число с модулем x и знаком y, в том числе знаком нуля -0.0.

Синтаксис

math.copysign(...)

Самое неочевидное применение — отличить 0.0 от -0.0: сравнением это не сделать, потому что -0.0 == 0.0 истинно, а math.copysign(1, x) вернёт -1.0 именно для минус-нуля. Знак читается из знакового бита, так что функция работает и с nan, и с бесконечностями, а результат всегда float, даже если оба аргумента целые.

Примеры

import math
print(math.copysign(3, -1))   # → -3.0
print(math.copysign(-3, 1))   # → 3.0
x = -12.5
print(math.copysign(1, x))   # → -1.0
print(math.copysign(2, -0.0))   # → -2.0

См. также

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