python 中的“力量”

新手上路,请多包涵

为什么会这样:

 >> b = -1
>> b**2
1

但:

 >> -1**2
-1

如果我导入数学库,没问题。

 >> from math import pow
>> pow(b,2)
1.0
>> pow(-1,2)
1.0

原文由 user3434449 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 318
2 个回答

来自 Python 文档: https ://docs.python.org/3/reference/expressions.html#the-power-operator

幂运算符比其左侧的一元运算符绑定得更紧密;它的绑定不如右侧的一元运算符紧密。

因此,在未加括号的幂运算符和一元运算符序列中,运算符从右到左求值(这不限制操作数的求值顺序): -1**2 结果为 -1

原文由 astrosyam 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题