Maison >développement back-end >Tutoriel Python >Les opérateurs « et » et « ou » de Python ont-ils déjà renvoyé des valeurs autres que les booléens ?

Les opérateurs « et » et « ou » de Python ont-ils déjà renvoyé des valeurs autres que les booléens ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-07 15:24:03423parcourir

Did Python's 'and' and 'or' Operators Ever Return Values Other Than Booleans?

Quelle est la vérité sur les opérateurs « et », « ou » et « non » ?

Un expert Python affirme que dans le passé , les opérateurs « et » et « ou » renvoyaient un de leurs opérandes plutôt qu'un booléen. Mais quand était-ce le cas ?

La vérité dévoilée

Contrairement à ce qu'on prétend, les opérateurs « et » et « ou » ont toujours renvoyé des valeurs booléennes en Python. L'exemple fourni par l'orateur :

0 ou 42 == 42

renvoie 42 car 42 est la première vraie valeur rencontrée dans l'expression logique. De même,

0 et 42 == 0

renvoie 0 car 0 est la première fausse valeur rencontrée.

En revanche, l'opérateur 'not' renvoie systématiquement un booléen pur value:

not 0 == True
not 42 == False

Par conséquent, l'affirmation selon laquelle les opérateurs « et » et « ou » renvoyaient des opérandes au lieu de booléens est incorrecte.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn