42

我一直在学习 Python,但我有点困惑。当我试图加注到某个数字时,在线教练告诉我使用运算符 ** 而不是 ^。例子:

print 8^3

给出 11 的输出。但我正在寻找的(我被告知)更类似于: print 8**3 它给出了 512 的正确答案。但是为什么呢?

谁可以给我解释一下这个?为什么 8^3 不等于 512 因为它是正确答案?在什么情况下 11(8^3 的结果)?

我确实尝试过搜索,但我只看到有关在除法时获取模数的信息。

4

3 回答 3

82

运算符^按位运算符,它按位异或

幂运算符**,比如8**3等于512

于 2012-08-20T19:35:35.457 回答
16

这些符号代表不同的运算符。

^表示按位异或( XOR)

如果 y 中的该位为 0,则输出的每个位与 x 中的相应位相同,如果 y 中的该位为 1,则它是 x 中该位的补码。

**代表幂运算符。这就是语言的结构方式。

于 2012-08-20T19:33:14.143 回答
0

只是这^并不意味着 Python 中的“指数”。它的意思是“按位异或”。请参阅文档

于 2012-08-20T19:34:17.817 回答