我一直在学习Python,但我有点困惑。当我试图提高到一定数量时,在线教师告诉我使用操作符**而不是^。例如:
print 8^3
给出11的输出。但我所寻找的(我被告知)更类似于:打印8 ** 3给出512的正确答案。但为什么?
有人可以向我解释一下吗?为什么8 ^ 3不等于512,因为它是正确的答案?在什么情况下11(8 ^ 3的结果)?
我确实试图搜索SO但我只看到有关在分割时获得模数的信息。
答案 0 :(得分:63)
运算符^
是按位运算符,“按位异或”。
更多:http://wiki.python.org/moin/BitwiseOperators
电源操作符为**
,类似于 8**3
,等于512
。
参考:http://docs.python.org/reference/expressions.html#the-power-operator
答案 1 :(得分:14)
符号代表不同的运算符。
The ^
represents the bitwise exclusive or (XOR
)。
输出的每个位与x中的相应位相同 y中的该位为0,如果y中的位为1,则它是x中位的补码。
**
代表电力运营商。这就是语言结构的方式。
答案 2 :(得分:0)
只是^
并不意味着Python中的“exponent”。这意味着“按位异或”。请参阅the documentation。