Python将数字符号分配给变量

时间:2013-11-01 20:50:06

标签: python function if-statement sign built-in

我有一个int类型的变量,它是Python,所以它可以是正面的和负面的。现在,我想让另一个变量与第一个变量1具有相同的符号。通过使用if语句然后将-1或+1分配给变量并将每个我希望拥有此符号的变量乘以-1或+1,这很容易。但后来我想也许有另一种方法可以做到这一点(例如内置函数)。有没有类似“sign = getsignbit(value)”的东西?

编辑: 解决了! math.copysign做了这件事,cmp(x,0)也有效,但我不仅要-1,0或1,还要把5变成-5。

2 个答案:

答案 0 :(得分:3)

没有内置sign功能(请参阅此答案以获得一些解释:Why doesn't Python have a sign function?),但math.copysign可能对您有用。 http://docs.python.org/2/library/math.html#math.copysign

答案 1 :(得分:3)

我认为没有内置功能,但你可以轻松自己动手:

def the_sign(num):
    return cmp(num, 0)