Booléens et opérateurs logiques

icône de pdf
Signaler
Dans cette leçon, tu vas découvrir comment utiliser les valeurs booléennes True et False en Python et les combiner avec les opérateurs logiques and, or et not. Tu apprendras à construire des expressions logiques, à lire des tables de vérité et à comprendre le court-circuit logique, indispensable pour écrire des programmes efficaces et sûrs. Mots-clés : booléen, opérateurs logiques, Python, table de vérité, court-circuit, algèbre de Boole.

Introduction

Dans la plupart des programmes informatiques, il est nécessaire de faire des choix, de tester des conditions ou de répéter des actions selon un critère. Ces décisions s'appuient sur une logique fondamentale : celle des valeurs booléennes, limitées à deux états, « vrai » et « faux ». Leur nom provient du mathématicien britannique George Boole, fondateur de l'algèbre binaire utilisée en informatique. À travers des opérateurs logiques simples comme and, or ou not, les expressions booléennes permettent de construire des raisonnements clairs et rigoureux, essentiels à la programmation.

Les valeurs booléennes : vrai ou faux

En Python, les deux valeurs booléennes sont représentées par les constantes :

  • True pour « vrai »

  • False pour « faux »

Elles appartiennent au type bool :

type(True)  # 

Python permet d'utiliser ces valeurs dans des opérations arithmétiques simples :

int(True)   # 1
int(False)  # 0

Ainsi, on peut faire :

True + True   # 2
False * 5     # 0

Cette double nature logique et numérique est propre au langage Python.

À retenir

Les booléens représentent deux états logiques : True et False. En Python, ils peuvent aussi être utilisés comme les entiers 1 et 0.

Les opérateurs logiques en Python

Les opérateurs logiques permettent de combiner des valeurs booléennes pour former des expressions complexes.

and : conjonction logique (ET)

L’expression A and B est vraie si A et B sont vrais tous les deux.

A

B

A and B

True

True

True

True

False

False

False

True

False

False

False

False

or : disjonction logique (OU)

L’expression A or B est vraie si au moins l’un des deux est vrai.

A

B

A or B

True

True

True

True

False

True

False

True

True

False

False

False

not : négation

L’expression not A est vraie si A est faux, et inversement.

A

not A

True

False

False

True

À retenir

Les opérateurs and, or et not permettent de construire des expressions booléennes à partir de conditions simples. Ils obéissent à des règles strictes décrites par leurs tables de vérité.

Tables de vérité et expressions composées

Une expression booléenne est une combinaison de conditions qui renvoie une valeur True ou False. Pour prédire son résultat dans tous les cas possibles, on utilise une table de vérité.

Exemple : expression composée

Étudions l’expression :

(A and not B) or (not A and B)

Cette expression représente le ou exclusif (XOR). Voici sa table de vérité complète :

A

B

not A

not B

A and not B

not A and B

(A and not B) or (not A and B)

True

True

False

False

False

False

False

True

False

False

True

True

False

True

False

True

True

False

False

True

True

False

False

True

True

False

False

False

On vérifie que le résultat final est True si une seule des deux variables est vraie.

À retenir

Dresser une table de vérité permet de comprendre et vérifier le fonctionnement d’une expression logique. C’est un outil fondamental de l’algorithmique.

Court-circuit logique et évaluation séquentielle

En Python, les opérateurs and et or sont paresseux : ils ne calculent pas la deuxième partie si le résultat peut être déterminé dès la première.

Exemple : and

x = 0
x != 0 and (1 / x > 0)

Ici, x != 0 est False. Python ne tente même pas de calculer 1 / x, ce qui évite une division par zéro.

Exemple : or

True or print("Jamais exécuté")

La fonction print n’est jamais appelée, car True or ... vaut toujours True.

Ce comportement permet de protéger certains calculs :

if x != 0 and y / x > 1:
    ...

À retenir

Les opérateurs and et or évaluent les expressions de gauche à droite. Si le résultat est déjà connu, Python ignore la suite : c’est le court-circuit logique.

Applications en algorithmique

Les booléens sont utilisés dans toutes les structures de contrôle :

Conditions

if age >= 18 and pays == "France":
    print("Majeur en France")

Boucles

while not terminé:
    ...

Sélections dans les structures de données

notes = [14, 8, 18, 10]
admis = [note for note in notes if note >= 10]

Évaluation d’un XOR

Python ne propose pas d’opérateur logique xor, mais on peut utiliser :

A != B  # True si une seule des deux valeurs est vraie

L’opérateur ^, bien qu’il fonctionne entre deux booléens en Python, est un opérateur binaire (bit à bit) : son emploi doit être signalé comme une spécificité du langage.

À retenir

Les expressions booléennes permettent de contrôler l’exécution d’un programme. Elles sont indispensables dans les tests conditionnels, les boucles et les filtres.

Conclusion

Les valeurs booléennes et leurs opérateurs logiques constituent l’un des fondements de la pensée algorithmique. Grâce à eux, on peut exprimer des conditions complexes, structurer le raisonnement d’un programme et prendre des décisions automatisées. La maîtrise des expressions booléennes, des tables de vérité et du court-circuit logique permet d’écrire du code plus clair, plus sûr et plus efficace. Ces bases sont partagées par tous les langages de programmation modernes et reposent sur les principes rigoureux de l’algèbre de Boole.