Syntaxe
boolean and boolean
|
entier and entier
|
Paramètres
Nom |
Description |
boolean |
Ce paramètre permet d'indiquer une expression de type booléen avec lequel un «Et logique» est effectué |
entier |
Ce paramètre permet d'indiquer une expression de type entière avec lequel un «Et binaire» est effectué |
Description
Ce mot réservé permet d'indiquer une opération de «Et logique» ou de «Et binaire».
Remarques
- Le mot clef and est un opérateur logique retournant le premier opérande faux ou le dernier évalué : Par exemple, True and False retourne False,
mais True and 5 retourne 5, car Python ne renvoie pas forcément un booléen mais l'opérande évalué. Ce comportement est souvent utilisé dans des expressions conditionnelles
compactes.
- and effectue une évaluation paresseuse (short-circuit evaluation) : Cela signifie que si le premier opérande est évalué comme faux, le second n'est
jamais évalué. Par exemple, dans a != 0 and (10 / a) > 1, la division n'est tentée que si a est différent de zéro, ce qui évite les erreurs d'exécution.
- Contrairement au &, l'opérateur and est logique et non binaire : Alors que & compare bit à bit deux entiers, and évalue la valeur de
vérité des opérandes. Par exemple, 0 and 1 retourne 0 (car 0 est faux), mais 0 & 1 retourne 0 en tant qu'opération binaire.
- Le mot clef and fonctionne avec tout type d'objet, pas uniquement les booléens : Python convertit les objets en booléens avec bool(obj) lors de
l'évaluation. Par exemple, [] and [1, 2] retourne [], car une liste vide est considérée comme False. Cela permet des expressions élégantes mais demande de la
prudence.
- and peut être utilisé pour construire des chaînes de conditions : Par exemple, x > 0 and x < 10 vérifie si une variable est dans un intervalle.
C'est une écriture intuitive pour beaucoup, même si Python permet aussi l'écriture 0 < x < 10, étant encore plus idiomatique.
- Le résultat de a and b n'est pas forcément un booléen : Contrairement à certains langages, Python ne contraint pas le retour de and à True ou False.
Il retourne l'un des deux opérandes : le premier s'il est faux, sinon le second. Ce comportement de propagation de valeur est très utilisé dans les expressions.
- Le mot clef and n'est pas interchangeable avec &, même entre booléens : Par exemple, True and False donne False, mais True & False donne
aussi False en apparence. Toutefois, and court-circuite alors que & évalue toujours les deux côtés. Ce détail est crucial dans les expressions complexes ou avec
effets de bord.
- L'utilisation abusive de and peut nuire à la lisibilité si les expressions deviennent trop longues : Bien que très pratique pour chaîner des
conditions, empiler plusieurs and peut produire des lignes difficiles à lire et à maintenir. Il est alors préférable de découper les conditions ou de nommer
les sous-conditions avec des variables intermédiaires.
Dernière mise à jour : Mercredi, le 16 mai 2018