Exemple concret : l'addition d'un int et d'un bool
Ca serait possible d'avoir un exemple concret ou l'addition d'un int et d'un bool prends du sens ?
Les booléens
Un booléen, c'est un objet qui ne peut prendre que deux valeurs : True et False, qui signifient vrai et faux.
Les booléens sont des types natifs qui sont une sous-classe des nombres entiers. True et l'équivalent du nombre 1 et False l'équivalent du nombre 0.
Vous pouvez vérifier cette affirmation avec la fonction issubclass. On voit bien avec cette fonction que le type natif bool qui correspond aux booléens est une sous-classe du type int qui représente les nombres entiers :
>>>issubclass(bool,int)True
On peut ainsi sans problème additionner des booléens avec des nombres :
>>>True+12>>>False+55
Pour l'instant, cela ne vous semble peut-être pas très utile, mais je vous assure que dans certains cas bien précis, ça peut être très intéressant.
Il faut savoir également que tous les objets peuvent être vrais ou faux. En anglais, on appelle ça des « truthy » ou « falsy ». Pour vérifier si un objet est vrai ou faux, on peut utiliser la fonction bool.
Vous pouvez lui passer n'importe quel objet, comme ici la chaîne de caractères "Bonjour" et la fonction bool vous retournera True ou False :
>>>bool("Bonjour")True
Dans ce cas-ci, la fonction bool retourne True, car la chaîne de caractères contient au moins un caractère.
Tous les objets ont une valeur qui, par défaut, est considérée comme False et toutes les autres valeurs qui sont considérées comme True.
Par exemple pour les chaînes de caractères, seule une chaîne de caractères vide est considérée comme fausse. Dès que vous avez au moins un caractère, l'évaluation de la chaîne de caractères avec la fonction bool est vraie :
Pour les nombres, que ce soient les nombres entiers ou décimaux, c'est la valeur de zéro qui est considérée comme fausse. Toutes les autres valeurs, que ce soit un nombre négatif ou positif, sont considérées comme vraies :
Pour les types séquentiels comme les listes ou les dictionnaires, ils sont considérés comme faux s'ils sont vides. Dès qu'ils contiennent au moins un élément, ils sont considérés comme vrais :
Les booléens, quand on voit ça tout seul, ça ne semble pas avoir beaucoup d'importance. C'est vraiment lorsque vous allez commencer à utiliser des conditions et à créer des expressions plus complexes qui pourront être évaluées comme vraies ou fausses, que vous verrez leur vraie utilité.