Como Verificar se uma String está Vazia em Python

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com strings em Python, você pode se deparar com situações em que precisa verificar se uma string está vazia. Uma string vazia é uma string que não contém nenhum caractere, e é um caso comum a ser tratado na programação. Em Python, existe uma maneira muito direta de verificar isso, e ela está alinhada com a filosofia de simplicidade e legibilidade do Python.

Entendendo o Teste de Valor Verdadeiro

Em Python, strings vazias são consideradas “falsas”, o que significa que são tratadas como False em um contexto booleano. Isso faz parte do teste de valor verdadeiro do Python, onde certos objetos são considerados True ou False quando avaliados em um contexto booleano. De acordo com a documentação oficial do Python e a Proposta de Melhoria do Python (PEP 8), sequências vazias, que incluem strings, listas e tuplas, são falsas.

A Maneira Elegante de Verificar uma String Vazia

A maneira mais elegante e “Pythonica” de verificar se uma string está vazia é tirar proveito do fato de que strings vazias são falsas. Veja como você pode fazer isso:

minha_string = ""

if not minha_string:
    print("A string está vazia!")
else:
    print("A string não está vazia.")
Testar

Este método é conciso e preferido se você tem certeza de que a variável é uma string. É limpo, legível e está alinhado com a seção “Recomendações de Programação” da PEP 8.

Lidando com Strings que Contêm Apenas Espaços em Branco

No entanto, há uma ressalva. Uma string que contém apenas caracteres de espaço em branco (como espaços, tabs ou novas linhas) não é considerada vazia e será avaliada como True. Se você quiser tratar strings que contêm apenas espaços em branco como vazias, você deve remover os espaços em branco antes de verificar:

minha_string = "   "

if not minha_string.strip():
    print("A string está vazia ou contém apenas espaços em branco!")
else:
    print("A string tem caracteres além de espaços em branco.")
Testar

Usar strip() remove todos os espaços em branco no início e no fim da string, o que permite que a verificação trate strings com apenas espaços em branco como vazias.

Quando Usar uma Comparação Direta

Se houver a possibilidade de que a variável possa ser de um tipo diferente de uma string, é mais seguro usar uma comparação direta com uma string vazia:

minha_string = None  # ou qualquer outro tipo

if minha_string == "":
    print("A string está vazia!")
else:
    print("A string não está vazia ou não é uma string de todo.")
Testar

Isso garante que você está verificando explicitamente por uma string vazia e não um valor falso de um tipo diferente.

Resumo

Em resumo, a maneira mais “Pythonica” de verificar se uma string está vazia é usar o fato de que strings vazias são falsas. Você pode simplesmente usar if not minha_string: para verificar se uma string está vazia. Lembre-se de usar strip() se você também quiser considerar strings que contêm apenas espaços em branco como vazias. Para casos em que a variável pode não ser uma string, use uma comparação direta: if minha_string == "". Seguindo essas diretrizes, você pode escrever um código Python limpo, legível e eficiente que lida com strings vazias de maneira elegante.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: