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