什么是^&引用;用python做什么

什么是^&引用;用python做什么,python,Python,我正在努力寻找有关^python的功能的文档 前 6^1= 七, 6^2= 四, 6^3= 五, 6^4= 二, 6^5= 三, 6^6= 0 帮助?这是一种常用的方法,通常称为“xor”。对于操作数中的每对对应位,如果操作数位相同,则结果中的对应位为0,如果操作数位不同,则结果中的对应位为1 考虑6^4: 6 = 0b0110 4 = 0b0100 6^4 = 0b0010 = 2 正如您所看到的,两个数字中的最低有效位(右边的“一”处)都是零。因此,答案中最低有效位为零。下一位在第

我正在努力寻找有关^python的功能的文档

6^1= 七,

6^2= 四,

6^3= 五,

6^4= 二,

6^5= 三,

6^6= 0

帮助?

这是一种常用的方法,通常称为“xor”。对于操作数中的每对对应位,如果操作数位相同,则结果中的对应位为0,如果操作数位不同,则结果中的对应位为1

考虑
6^4

  6 = 0b0110
  4 = 0b0100
6^4 = 0b0010 = 2
正如您所看到的,两个数字中的最低有效位(右边的“一”处)都是零。因此,答案中最低有效位为零。下一位在第一个操作数中为
1
,在第二个操作数中为
0
,因此结果为
1

XOR有一些有趣的特性:

a^b == b^a  # xor is commutative
a^(b^c) == (a^b)^c   # xor is associative
(a^b)^b == a  # xor is reversible
0^a == a   # 0 is the identity value
a^a == 0   # xor yourself and you go away.
您可以使用xor更改值的奇数:

prev_even = odd ^ 1 (2 = 3 ^ 1)
next_odd = even ^ 1 (3 = 2 ^ 1)

有关XOR的更多信息,请访问Python.org上的文档:


我不是Python程序员,但这显然是一个按位异或。@PhilipKendall只有在您以前见过按位异或的情况下,这才是明显的。@PhilipKendall对我来说一点也不明显,尽管我是学习Python的c/c++/java程序员。@randomstring:。。但是在C、C++和java中也是一样的。诚然,可以避免过多地使用它。顺便说一句,有关Python语法的帮助,您可以在控制台上键入
help(“^”)
等。@DSM是的,只是上下文阻止了我建立连接。当我意识到这是什么的时候,我觉得自己很傻。我在想这是一种特殊的函数式编程,当我意识到它是xor时,我笑了。感谢您对python帮助的帮助,这不是很有帮助