爲什麼這兩個陳述不相等?爲什麼是-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