все 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Сообщить о неточности