python - 闲置时指数运算符的奇怪结果

use*_*169 0 python math operators exponential

在空闲状态下平方 -1 时,我得到了一个奇怪的结果。这是怎么回事?

意想不到的结果:

>>>| -1 ** 2
>>>| -1
Run Code Online (Sandbox Code Playgroud)

预期结果:

>>>| pow(-1,2)
>>>| 1

>>>| my_var = -1
>>>| my_var **= 2
>>>| my_var
>>>| 1
Run Code Online (Sandbox Code Playgroud)

Sam*_*ord 5

运算符优先级(the-是一元减运算符):

>>> -1 ** 2
-1
>>> -(1 ** 2)
-1
>>> (-1) ** 2
1
Run Code Online (Sandbox Code Playgroud)

  • @Samwise 不确定一个_好的_原因,但大多数数学家期望“-x²”(例如在像“-x² + x + 3”这样的多项式的上下文中)表示“-(x²)”而不是“(-x” )²`。 (2认同)
  • 好点子!这只是 int 文字的情况,它给人的感觉是无意义的。 (2认同)