为什么Python`**`用于取幂而不是`^`运算符?

ZHU*_*ZHU -3 python language-design bitwise-operators exponentiation

为什么^不在Python中进行平方?我知道取幂是**相反的,但究竟是什么^以及为什么不使用该算子呢?

例如2^2=0,3^2=1.

Ray*_*ger 6

^运营商已经在使用按位异或.

>>> x = 42; format(x, '08b')
'00101010'
>>> y = 137; format(y, '08b')
'10001001'
>>> z = x ^ y; format(z, '08b')
'10100011'
Run Code Online (Sandbox Code Playgroud)

这留下了旧的Fortran风格的 **运算符用于取幂.

>>> base = 5
>>> exp = 2
>>> base ** exp
25
Run Code Online (Sandbox Code Playgroud)