负一的两个问题的幂 - 即 (-1)**2

问题描述

谁能解释一下这两个表达式在 Python 中的区别:

(-1)**2 == 1
-1**2 == -1

为什么括号会改变结果?

解决方法

括号表示里面的整个值将被提升到 2 次方。

(-1)**2 == 1

所以 -1*-11 没有括号意味着 - 将从等式中删除并添加到答案的末尾。

1) -1**2
2) 1**2 
3) 1
4) -1

Python 的处理方式与世界上相同 :)