为什么这两个陈述不相等?为什么是-2 ** 2 == -4但是math.pow(-2,2)== 4.0?
>> math.pow(-2,2)
4.0
>> -2 ** 2
-4
的Python 3.5.3(默认情况下,2017年1月19日,14时11分04秒)
为什么这两个陈述不相等?为什么是-2 ** 2 == -4但是math.pow(-2,2)== 4.0?
>> math.pow(-2,2)
4.0
>> -2 ** 2
-4
的Python 3.5.3(默认情况下,2017年1月19日,14时11分04秒)
运营商(运算符优先级)的执行顺序重要的位置:用-2**2
,2〜幂电源2首先执行,然后是负号。
使用括号以获得期望的结果
(-2)** 2 = 4
由于优先 ' - ' 是的 '**' 优先的背后,使用(-2)** 2来计算-2在第一
答案就在这里:HTTPS://docs.python .ORG/3.5 /参考/ expressions.html#操作优先级。 '**'比一元负号'-'具有更高的优先级。此外,'**'是正确的联想。在实践中,右联合意味着,举个例子,“a ** b ** c = a **(b ** c)”。 – nbro