Python 中的異或 XOR
Muhammad Waiz Khan
2023年1月30日
本教程將解釋在 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
二進位制中的 3
是 0b11
,5
是 0b101
,所以 0b011
和 0b101
的 XOR 將是 0b110
,也就是十進位制中的 6
。
在 Python 中使用邏輯運算子實現異或 XOR 的方法
我們可以在 Python 中使用邏輯運算子實現使用者定義的 xor()
方法。下面的程式碼示例展示了我們如何使用 Python 中的 and
、or
和 not
運算子在 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