Où devriez-vous utiliser les valeurs Truthy ou Falsy? Ce sont du sucre syntaxique , vous pouvez donc toujours les éviter, mais leur utilisation peut rendre votre code plus lisible et vous rendre plus efficace. De plus, vous les trouverez dans de nombreux exemples de code, que ce soit en python ou non, car cela est considéré comme une bonne pratique.
Comme mentionné dans les autres réponses, vous pouvez les utiliser dans les tests if et les boucles while. Voici deux autres exemples en python 3 avec des valeurs par défaut combinées avec or
, s
étant une variable de chaîne. Vous vous étendrez également à des situations similaires.
Sans vérité
if len(s) > 0:
print(s)
else:
print('Default value')
avec la vérité c'est plus concis:
print(s or 'Default value')
En python 3.8, nous pouvons tirer parti de l'expression d'affectation :=
sans vérité
if len(s) == 0:
s = 'Default value'
do_something(s)
avec la vérité c'est plus court aussi
s or (s := 'Default value')
do_something(s)
ou même plus court,
do_something(s or (s := 'Default value'))
Sans l'expression d'affectation, on peut faire
s = s or 'Default value'
do_something(s)
mais pas plus court. Certaines personnes trouvent la s =...
ligne insatisfaisante car elle correspond à
if len(s)>0:
s = s # HERE is an extra useless assignment
else:
s = "Default value"
néanmoins, vous pouvez adhérer à ce style de codage si vous vous sentez à l'aise avec lui.
bool(value)
aboutitTrue
, alorsvalue
c'est la vérité .