ExpertiDict

Python · Essencial · Inglês · Técnico

truthy e falsy

/ˈtɹuθi i ˈfɔlsi/adjetivo

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.

Veja também

Todos os termos de Python