You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

67 lines
1.4 KiB

  1. Falsy et truthy
  2. ================
  3. Expressions après un if
  4. -----------------------
  5. Jusqu'ici les expressions qu'on a utilisées donnait un booléens une fois évaluées, mais
  6. un expression apès un ``if`` peut être d'un autre type.
  7. Par exemple, un entier::
  8. x = 0
  9. if x:
  10. print("x n'est pas nul")
  11. else:
  12. print("x est nul")
  13. # affiche: x est nul
  14. On dit que ``0`` est ``Falsy``, parce qu'après un ``if``, il se comporte comme une expression
  15. qui vaudrait False.
  16. Réciproquement, tous les entiers sauf 0 sont ``Truthy``, parce qu'ils se comportent comme
  17. une expression qui vaudrait True::
  18. y = 6
  19. if y:
  20. print("y n'est pas nul")
  21. else:
  22. print("y est nul")
  23. # affiche: y n'est pas nul
  24. On retrouve ce principe avec les chaînes de caractères::
  25. message = ""
  26. if message:
  27. print("le message n'est pas vide")
  28. else:
  29. print("le message est vide")
  30. # affiche: le message est vide
  31. Le chaînes vides sont falsy, les autres sont truthy.
  32. Expressions quelconques
  33. -----------------------
  34. En fait, on peut utiliser tous les opérateurs booléens avec des expressions
  35. quelconques::
  36. message = ""
  37. if not message:
  38. print("le message est vide")
  39. # affiche : le message est vide
  40. score = 42
  41. if message and score:
  42. print("le message et le score sont truthy")
  43. # affiche : le message et le score sont truthy