Python 中的異或 XOR
    
    
            Muhammad Waiz Khan
    2023年1月30日
    
    Python
    Python Operator
    
 
本教程將解釋在 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
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe