Python · Essencial · Inglês · Técnico
truthy e falsy
Termos para valores que, num contexto booleano como o if, contam como verdadeiro ou falso. São falsy: None, False, 0, 0.0, string vazia e coleções vazias.
Onde usar
Permite escrever if lista: em vez de if len(lista) > 0:. O review costuma apontar quando a checagem de vazio é feita do jeito longo e pouco idiomático.
Em código
for v in [0, '', [], None, 'a', [0]]:
print(repr(v), bool(v))Exemplos
An empty list is falsy, so the if is skipped.
Uma lista vazia é falsy, então o if é ignorado.
Zero is falsy, which broke the discount check.
Zero é falsy, o que quebrou a checagem do desconto.
Cuidado
Cuidado com if valor: quando 0 é um valor válido; nesse caso, compare explicitamente com None.