【发布时间】:2021-06-06 14:44:16
【问题描述】:
谁能解释一下Python中这两个表达式的区别:
(-1)**2 == 1
-1**2 == -1
为什么括号会改变结果?
【问题讨论】:
-
仔细检查一元
-和**运算符的运算符优先级。 -
Python先根据算子优先级计算幂,然后-
-
这是一道数学题,不适合编码。
-
两个方程在计算器上的结果都是 1。正如其他答案所示,这是因为 python 完成 ** 运算符然后解释 - 之后的方式。因此这是一个 python 问题。
-
查看operator precedence上的文档。