Falsy et truthy ================ Expressions après un if ----------------------- Jusqu'ici les expressions qu'on a utilisées donnait un booléens une fois évaluées, mais un expression apès un ``if`` peut être d'un autre type. Par exemple, un entier:: x = 0 if x: print("x n'est pas nul") else: print("x est nul") # affiche: x est nul On dit que ``0`` est ``Falsy``, parce qu'après un ``if``, il se comporte comme une expression qui vaudrait False. Réciproquement, tous les entiers sauf 0 sont ``Truthy``, parce qu'ils se comportent comme une expression qui vaudrait True:: y = 6 if y: print("y n'est pas nul") else: print("y est nul") # affiche: y n'est pas nul On retrouve ce principe avec les chaînes de caractères:: message = "" if message: print("le message n'est pas vide") else: print("le message est vide") # affiche: le message est vide Le chaînes vides sont falsy, les autres sont truthy. Expressions quelconques ----------------------- En fait, on peut utiliser tous les opérateurs booléens avec des expressions quelconques:: message = "" if not message: print("le message est vide") # affiche : le message est vide score = 42 if message and score: print("le message et le score sont truthy") # affiche : le message et le score sont truthy