XORing des valeurs logiques en Python
Lorsque vous traitez des valeurs logiques en Python, en particulier lors de la vérification de variables de chaîne, il peut être nécessaire de déterminez si exactement l’un d’entre eux est True (c’est-à-dire pas None ou une chaîne vide). L'opérateur logique XOR ^ ne convient pas à cet effet, car il effectue des opérations au niveau du bit et n'est pas universellement défini pour les objets.
Solution : Inégalité booléenne
Pour atteindre l'objectif comportement XOR souhaité, convertissez les variables en valeurs booléennes à l'aide de la fonction bool(), puis appliquez l'opérateur !=. Cela évalue efficacement si les valeurs booléennes des deux variables sont inégales, ce qui satisfait à la condition XOR :
<code class="python">bool(a) != bool(b)</code>
Par exemple, en Python, une chaîne vide est évaluée comme False :
bool("") == False
Par conséquent, l'extrait de code suivant affichera « ok » si une seule des chaînes d'entrée n'est pas vide :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!