Rol*_*Bly 8 python operator-precedence
在Python中
>>> i = 3
>>> -i**4
-81
Run Code Online (Sandbox Code Playgroud)
为什么-i**4不被评估为(-i)**4,但是-(i**4)?
我想有人可能会争辩说,提升到一个权力优先于(隐含)乘以i减一(即你应该阅读-1*i**4).但是在那里我学到的数学,-i**n用n连和i积极的,应该站出来正面.
Amb*_*ber 11
该**运营商结合更加紧密比-运营商确实在Python.如果你想覆盖它,你可以使用括号,例如(-i)**4.
https://docs.python.org/2/reference/expressions.html#operator-precedence https://docs.python.org/3/reference/expressions.html#operator-precedence
您可以使用数学中的 pow() 函数。
import math
i = 3
math.pow(-i,4)
Run Code Online (Sandbox Code Playgroud)
这将产生正值。
如此处所述:Exponentials in python x.**y vs math.pow(x, y),如果您想始终生成浮点数,此选项(或仅在 pow() 中构建)将是理想的选择。