Pythonでは、2つの変数の間で論理XORを取得する方法があります。これは、2つの変数が真である場合にのみ真を返し、それ以外の場合は偽を返すXOR演算を行います。
Pythonでは、XOR演算子は ^
という記号で表されます。しかし、この演算子はビット単位の演算を行うため、すべてのオブジェクトで定義されているわけではありません。例えば、文字列に対してこの演算子を使用しようとすると、TypeErrorが発生します。
str1 = "abc"
str2 = ""
print(str1 ^ str2)
上記のコードは、TypeError: unsupported operand type(s) for ^: 'str' and 'str'
というエラーを出力します。
しかし、論理XORを行いたい場合は、!=
演算子を使用することで実現できます。具体的には、2つの変数をブール値に変換した後で !=
演算子を使用します。
a = True
b = False
result = a != b
print(result) # Output: True
上記のコードでは、a
と b
の論理XORを計算しています。a
と b
のうち一方だけが真であるため、結果は True
となります。
このように、Pythonではビット単位のXOR演算子と論理XORを行う方法が提供されており、それぞれ異なる用途で使用することができます。