Dove dovresti usare i valori Truthy o Falsy? Questi sono zucchero sintattico , quindi puoi sempre evitarli, ma usarli può rendere il tuo codice più leggibile e renderti più efficiente. Inoltre, li troverai in molti esempi di codice, in Python o meno, perché è considerato una buona pratica.
Come accennato nelle altre risposte, puoi usarli nei test if e nei cicli while. Ecco altri due esempi in python 3 con valori predefiniti combinati con or, sessendo una variabile stringa. Ti estenderai anche a situazioni simili.
Senza verità
if len(s) > 0:
print(s)
else:
print('Default value')
con verità è più conciso:
print(s or 'Default value')
In python 3.8, possiamo trarre vantaggio dall'espressione di assegnazione :=
senza verità
if len(s) == 0:
s = 'Default value'
do_something(s)
con la verità è anche più breve
s or (s := 'Default value')
do_something(s)
o anche più breve,
do_something(s or (s := 'Default value'))
Senza l'espressione di assegnazione, si può fare
s = s or 'Default value'
do_something(s)
ma non più breve. Alcune persone trovano la s =...linea insoddisfacente perché corrisponde a
if len(s)>0:
s = s # HERE is an extra useless assignment
else:
s = "Default value"
tuttavia puoi aderire a questo stile di codifica se ti senti a tuo agio.
bool(value)risultaTrue, alloravalueè veritiero .