Question 1Parmi les suivantes, laquelle est une valeur bool valide ?
Booléens et construction de conditions
Apprends le type bool en Python pour exprimer vrai/faux et bâtir des conditions claires avec and / or / not.
Qu'est-ce qu'un booléen (bool) ?
Un booléen (bool) est un type qui ne peut contenir que deux valeurs : True et False. C'est ainsi que Python représente les états du style oui/non ou vrai/faux — en gros, tout ce qui comporte deux choix.
Tout comme int gère les nombres et str gère les chaînes, bool est le type spécialisé pour les valeurs de vérité.
Contrairement aux autres types, bool est limité à exactement deux valeurs — True et False. C'est ce qui lui permet de s'intégrer si bien avec l'affectation, la comparaison et les branchements conditionnels.
True et False doivent commencer par une majuscule. Écris true ou TRUE et tu obtiendras une NameError.
Ce ne sont pas non plus des chaînes, donc ne les entoure pas de guillemets comme "True" (cela les transforme en str).
# Affectation de valeurs bool
is_animal = True
is_human = False
print(is_animal) # True
print(is_human) # False
print(type(is_animal)) # <class 'bool'>
# Écrire "True" en fait un str (c'est différent)
looks_bool = "True"
print(type(looks_bool)) # <class 'str'>
Les comparaisons produisent des booléens
Tu n'obtiens pas de booléens uniquement en tapant True / False — les opérateurs de comparaison en produisent aussi.
Python dispose de six opérateurs de comparaison, et chacun retourne toujours True ou False (c'est-à-dire un bool).
| Opérateur | Signification | Exemple | Résultat |
|---|---|---|---|
| == | égal à | 5 == 5 | True |
| != | différent de | 5 != 3 | True |
| > | strictement supérieur | 5 > 3 | True |
| < | strictement inférieur | 5 < 3 | False |
| >= | supérieur ou égal | 5 >= 5 | True |
| <= | inférieur ou égal | 5 <= 3 | False |
Quand une expression est évaluée, elle retourne soit True soit False. Tu peux aussi stocker ce résultat dans une variable et le réutiliser.
age = 20
print(age == 20) # True (égal)
print(age != 18) # True (différent)
print(age >= 18) # True (>=)
print(age < 18) # False (<)
# Tu peux stocker le résultat dans une variable
is_adult = age >= 18
print(is_adult) # True
print(type(is_adult)) # <class 'bool'>
# Les chaînes se comparent aussi (== et != sont les plus utiles)
print("apple" == "apple") # True
print("apple" == "Apple") # False (sensible à la casse)
= et == sont différents
= (un seul signe égal) est l'affectation, et == (deux signes égal) est la comparaison. age = 20 signifie « mettre 20 dans age », tandis que age == 20 demande « est-ce que age vaut 20 ? ». Les confondre est un moyen facile d'introduire un bug difficile à repérer, donc garde-les bien distincts.
Utiliser les booléens dans la structure if
L'endroit où tu rencontreras le plus souvent les booléens, c'est la structure if (un branchement conditionnel). Le bloc à l'intérieur s'exécute uniquement quand l'expression après if vaut True.
On reviendra sur if plus en détail plus tard — pour l'instant, prends juste le temps de sentir comment un bool change le comportement.
Termine la ligne if par un deux-points :, et écris le corps avec une indentation de 4 espaces. C'est cette indentation qui indique à Python quelles lignes appartiennent au if.
is_animal = True
# S'exécute car is_animal vaut True
if is_animal:
print("C'est un animal")
# Ignoré car is_human vaut False — rien ne s'affiche
is_human = False
if is_human:
print("C'est un humain")
# Tu peux mettre une comparaison directement dans le if
age = 20
if age >= 18:
print("Adulte")
Opérateurs logiques : and / or / not
Quand tu veux combiner plusieurs conditions, utilise les opérateurs logiques and / or / not.
Ils prennent des booléens en entrée et retournent des booléens — ils correspondent aux mots français « et », « ou » et « non ».
and est True uniquement quand les deux côtés sont True.
or est True quand au moins un côté est True.
not inverse True et False.
Table de vérité
Le résultat de and et or est entièrement déterminé par les booléens de gauche et de droite. Tu peux les voir comme une intersection (and) et une union (or).
| A | B | A and B | A or B |
|---|---|---|---|
| True | True | True | True |
| True | False | False | True |
| False | True | False | True |
| False | False | False | False |
is_man = True
is_adult = True
# and : True uniquement si les deux sont True
if is_man and is_adult:
print("Homme adulte")
# or : True si au moins un des deux est True
if is_man or is_adult:
print("Homme ou adulte")
# not : inverse la valeur
is_child = not is_adult
print(is_child) # False
# Combine avec des comparaisons
age = 25
if age >= 18 and age < 65:
print("Adulte en âge de travailler")
N'écris pas &&, ||, !
Certains autres langages utilisent &&, || et !, mais Python utilise toujours and, or et not (les mots anglais). Écrire && te donnera une SyntaxError.
Dans cet article, tu as découvert le type booléen (bool) et comment l'utiliser. Tu as vu que bool ne contient que deux valeurs, que les comparaisons produisent des booléens, que les instructions if permettent de brancher dessus, et que and / or / not permettent de combiner les conditions — les fondations de toute condition que tu écriras.
Ensuite, on regardera de plus près les nombres avec les types int et float.
Vérification des connaissances
Répondez à chaque question une par une.
Question 2Que va afficher ce code ?x = 10
print(x == 10 and x < 5)
Question 3Que va afficher ce code ?is_open = False
print(not is_open)