为什么会这样:
>> 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 许可协议
为什么会这样:
>> 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 许可协议
它与运算符优先级有关。
尝试
(-1)**2
**
首先被评估,然后是 -
。因此,您得到了 -1
。
在 pow
函数的情况下, -1
首先被评估。
请参阅 https://docs.python.org/2/reference/expressions.html#the-power-operator 上的参考
原文由 doptimusprime 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答857 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
来自 Python 文档: https ://docs.python.org/3/reference/expressions.html#the-power-operator