← Retour au cours Logique booléenne Essayer le simulateur

Le type bool

Python

Deux valeurs seulement : True et False. Toute comparaison renvoie un booléen.

a and b
ET logique
a or b
OU logique (inclusif)
not a
Négation
a != b
XOR sur deux booléens
operateurs.py
age = 16
a_le_bac = False

peut_conduire = age >= 18 or a_le_bac
peut_voter = age >= 18 and not a_le_bac

print(peut_conduire)   # False
print(peut_voter)      # False

Priorité des opérateurs

syntaxe

not avant and, and avant or. En cas de doute, parenthéser.

1. not
Le plus prioritaire
2. and
Puis les ET
3. or
Le moins prioritaire

📦 Le cours : algèbre de Boole

Un booléen ne prend que deux valeurs : vrai (1, True) ou faux (0, False). Les quatre opérateurs de base combinent des booléens pour en produire un nouveau.

Tables de vérité

aba ET ba OU ba XOR b
00000
01011
10011
11110
aNON a
01
10

ET / OU ne sont pas exclusifs

a or b est vrai dès que l'un des deux l'est — y compris si les deux le sont. Pour un « ou exclusif » (l'un ou l'autre, mais pas les deux), on utilise XOR : en Python, a != b sur deux booléens, ou ^ bit à bit sur des entiers.

Évaluation court-circuit

Python arrête l'évaluation dès que le résultat est connu : dans a and b, si a est False, b n'est jamais évalué. Utile pour éviter une erreur :

💻 Exemples

court_circuit.py
notes = []

# Sans court-circuit : notes[0] planterait si la liste est vide
if len(notes) > 0 and notes[0] >= 10:
    print("Admis")
else:
    print("Pas de note ou insuffisant")

📋 Aide-mémoire

and/or/not en Python ; &/|/~/^ pour les opérations bit à bit sur des entiers.

4 combinaisons possibles pour 2 variables (2², donc 2ⁿ pour n variables).