Onde você deve usar os valores Truthy ou Falsy? Estes são açúcares sintáticos , então você sempre pode evitá-los, mas usá-los pode tornar seu código mais legível e mais eficiente. Além disso, você os encontrará em muitos exemplos de código, seja em python ou não, porque é considerada uma boa prática.
Conforme mencionado nas outras respostas, você pode usá-los em testes if e loops while. Aqui estão dois outros exemplos em python 3 com valores padrão combinados com or
, s
sendo uma variável de string. Você também se estenderá a situações semelhantes.
Sem verdade
if len(s) > 0:
print(s)
else:
print('Default value')
com verdade é mais conciso:
print(s or 'Default value')
No Python 3.8, podemos tirar proveito da expressão de atribuição :=
sem verdade
if len(s) == 0:
s = 'Default value'
do_something(s)
com verdade é mais curto também
s or (s := 'Default value')
do_something(s)
ou ainda mais curto,
do_something(s or (s := 'Default value'))
Sem a expressão de atribuição, pode-se fazer
s = s or 'Default value'
do_something(s)
mas não mais curto. Algumas pessoas acham a s =...
linha insatisfatória porque corresponde a
if len(s)>0:
s = s # HERE is an extra useless assignment
else:
s = "Default value"
no entanto, você pode aderir a esse estilo de codificação se se sentir confortável com ele.
bool(value)
resultarTrue
, entãovalue
é verdade .