应该print (-2 ** 2)返回什么?根据我的计算,应该是4,但是解释器会返回-4。 这是Python的事情,还是我的数学很糟糕?
print (-2 ** 2)
4
-4
根据docs,**其优先级高于-,因此您的代码等同于-(2 ** 2)。为了获得理想的结果,您可以将其-2放在括号中
**
-
-(2 ** 2)
-2
>>> (-2) ** 2 4
或使用内置pow功能
pow
>>> pow(-2, 2) 4
或math.pow功能(返回float值)
math.pow
float
>>> import math >>> math.pow(-2, 2) 4.0