^字符在逻辑运算中有什么作用

What does the ^ character do in logical operation

我在 codingbat 上练习代码,遇到了这个逻辑问题:

Given a number n, return True if n is in the range 1..10, inclusive. Unless outside_mode is True, in which case return True if the number is less or equal to 1, or greater or equal to 10.

解决方法是:

if n == 1 or n == 10:
    return True
  return (n in range(1,11)) ^ outside_mode

如果用谷歌搜索“python ^ 符号”或“^ 符号有什么作用 python” Google returns 关于“@”符号和模符号。要找到这个符号的作用并不容易。因此,应该重新提出这个问题,以便为早期程序员找到这些答案提供更好的机会

^bitwise exclusive or(或 XOR)

>>> True ^ True
False

>>> True ^ False
True

>>> False ^ True
True

>>> False ^ False
False

它是按位异或。在Python、True == 1False == 0中,可以使用按位运算符得到等价的布尔运算。

对于单个位,^!=相同,所以这与

本质上相同
return (n in range(1, 11) != outside_mode