Python 中的异或 XOR

Muhammad Waiz Khan 2023年1月30日
  1. 在 Python 中使用^操作符实现异或 XOR 操作
  2. 在 Python 中使用逻辑运算符实现异或 XOR 的方法
  3. 在 Python 中使用内置的 xor() 方法实现异或 XOR
Python 中的异或 XOR

本教程将解释在 Python 中对两个变量实现异或 XOR 操作的多种方法。XOR 操作通常用于不同的协议中,比如在错误检查中,或者在我们不希望两个条件同时为真的情况下。

在 Python 中使用^操作符实现异或 XOR 操作

在 Python 中的^运算符是用于按位 XOR,也可以用于布尔运算。下面的代码示例演示了我们如何对布尔运算进行 XOR 操作,以及对整数进行位 XOR 操作。

Python XOR 操作示例 1:

a = bool(1)
b = bool(0)
print(a ^ b)

输出:

True

Python XOR 操作示例 2:

a = 3
b = 5
print(a ^ b)

输出:

6

二进制中的 30b1150b101,所以 0b0110b101 的 XOR 将是 0b110,也就是十进制中的 6

在 Python 中使用逻辑运算符实现异或 XOR 的方法

我们可以在 Python 中使用逻辑运算符实现用户定义的 xor() 方法。下面的代码示例展示了我们如何使用 Python 中的 andornot 运算符在 booleans 上实现 xor() 方法。

示例代码:

def xor(x, y):
    return bool((x and not y) or (not x and y))


print(xor(0, 0))
print(xor(0, 1))
print(xor(1, 0))
print(xor(1, 1))

输出:

False
True
True
False

在 Python 中使用内置的 xor() 方法实现异或 XOR

Python 的 operator 模块中的 xor() 方法也可以用来获取布尔和整数的异或 XOR。Python 中 xor() 方法的功能与^运算符相同。它也对整数进行位比 XOR 操作,对布尔数进行 XOR 操作。下面的示例代码解释了如何使用 xor() 方法对布尔值和整数进行 XOR 操作。

from operator import xor

print(xor(bool(0), bool(0)))
print(xor(5, 3))

输出:

False
6

相关文章 - Python Operator