Python での論理値の XOR 演算
Python で論理値を扱うとき、特に文字列変数のチェックを実行するとき、次のことが必要になる場合があります。それらのうちの 1 つが True (つまり、None または空の文字列ではない) かどうかを判断します。論理 XOR 演算子 ^ は、ビット単位の演算を実行し、オブジェクトに対して汎用的に定義されていないため、この目的には適していません。
解決策: ブール不等式
必要な XOR 動作を行うには、bool() 関数を使用して変数をブール値に変換し、!= 演算子を適用します。これにより、2 つの変数のブール値が等しくないかどうかが効果的に評価され、XOR 条件が満たされます:
<code class="python">bool(a) != bool(b)</code>
たとえば、Python では、空の文字列は False と評価されます:
bool("") == False
したがって、次のコード スニペットは、入力文字列の 1 つだけが空でない場合に「ok」を出力します:
<code class="python">str1 = raw_input("Enter string one:") str2 = raw_input("Enter string two:") if bool(str1) != bool(str2): print "ok" else: print "bad"</code>
以上がPython で論理値を使用して XOR 動作を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。