Introdução
Neste laboratório, você aprenderá como verificar se uma string não está vazia em Python usando diferentes métodos. O laboratório guia você na criação de um arquivo Python chamado string_check.py e no uso da avaliação booleana (if string1:) e da função len() (if len(string1) > 0:) para determinar se uma string contém pelo menos um caractere.
Você executará o script para observar a saída, demonstrando como o Python identifica strings não vazias e vazias usando ambas as abordagens. O laboratório fornece exemplos práticos e instruções passo a passo para implementar essas técnicas.
Explorar Strings Não Vazias
Nesta etapa, exploraremos como determinar se uma string não está vazia em Python. Uma string não vazia é simplesmente uma string que contém pelo menos um caractere. Existem várias maneiras de verificar essa condição, e abordaremos os métodos mais comuns e eficientes.
Primeiro, vamos criar um arquivo Python chamado string_check.py no seu diretório ~/project usando o editor VS Code.
## ~/project/string_check.py
string1 = "Hello"
string2 = ""
if string1:
print("string1 is non-empty")
else:
print("string1 is empty")
if string2:
print("string2 is non-empty")
else:
print("string2 is empty")
Neste código:
- Definimos duas strings:
string1, que contém "Hello", estring2, que é uma string vazia. - Usamos as instruções
if string1:eif string2:para verificar se as strings não estão vazias. Em Python, uma string vazia é avaliada comoFalseem um contexto booleano, enquanto uma string não vazia é avaliada comoTrue.
Agora, vamos executar o script usando o comando python:
python ~/project/string_check.py
Você deve ver a seguinte saída:
string1 is non-empty
string2 is empty
Isso demonstra que o Python identifica corretamente string1 como não vazia e string2 como vazia.
Outra maneira de verificar se uma string não está vazia é usar a função len(). A função len() retorna o número de caracteres em uma string. Se o comprimento for maior que 0, a string não está vazia.
Vamos modificar o arquivo string_check.py para usar a função len():
## ~/project/string_check.py
string1 = "Hello"
string2 = ""
if len(string1) > 0:
print("string1 is non-empty")
else:
print("string1 is empty")
if len(string2) > 0:
print("string2 is non-empty")
else:
print("string2 is empty")
Execute o script novamente:
python ~/project/string_check.py
A saída será a mesma de antes:
string1 is non-empty
string2 is empty
Ambos os métodos são válidos para verificar se uma string não está vazia. O primeiro método (usando a string diretamente em um contexto booleano) é geralmente considerado mais "Pythonic" e legível.
Verificar len() > 0
Nesta etapa, focaremos especificamente no uso da função len() para determinar se uma string não está vazia. Como vimos na etapa anterior, len() retorna o número de caracteres em uma string. Podemos usar esse valor para verificar explicitamente se uma string possui algum caractere.
Vamos modificar nosso arquivo string_check.py no diretório ~/project para explorar isso mais a fundo. Adicionaremos mais exemplos e usaremos a condição len() > 0 de forma mais explícita.
## ~/project/string_check.py
string1 = "Python"
string2 = ""
string3 = " " ## A string containing a single space
print("String 1:", string1)
print("Length of String 1:", len(string1))
print("String 2:", string2)
print("Length of String 2:", len(string2))
print("String 3:", string3)
print("Length of String 3:", len(string3))
if len(string1) > 0:
print("string1 is non-empty (len() > 0)")
else:
print("string1 is empty (len() > 0)")
if len(string2) > 0:
print("string2 is non-empty (len() > 0)")
else:
print("string2 is empty (len() > 0)")
if len(string3) > 0:
print("string3 is non-empty (len() > 0)")
else:
print("string3 is empty (len() > 0)")
Neste código:
- Adicionamos
string3, que contém um único espaço. Isso é importante porque uma string contendo apenas espaços ainda é considerada não vazia pelo Python se você a avaliar diretamente como um booleano (como fizemos na etapa anterior), mas seu comprimento é maior que 0. - Imprimimos o comprimento de cada string usando
len(). - Usamos a condição
if len(string) > 0:para verificar explicitamente se o comprimento da string é maior que 0.
Agora, execute o script:
python ~/project/string_check.py
Você deve ver a seguinte saída:
String 1: Python
Length of String 1: 6
String 2:
Length of String 2: 0
String 3:
Length of String 3: 1
string1 is non-empty (len() > 0)
string2 is empty (len() > 0)
string3 is non-empty (len() > 0)
Como você pode ver, len(string3) retorna 1 porque a string contém um espaço. Isso demonstra que len() > 0 reflete com precisão se uma string contém algum caractere, incluindo espaços.
Este método é útil quando você precisa especificamente saber o comprimento da string e deseja realizar ações com base nesse comprimento.
Usar Avaliação Booleana
Nesta etapa, nos aprofundaremos em como o Python avalia strings em um contexto booleano. Como mencionado anteriormente, o Python trata strings vazias como False e strings não vazias como True. Esse comportamento pode ser usado diretamente em instruções if e outras expressões booleanas, tornando seu código mais conciso e legível.
Vamos revisitar e modificar nosso arquivo string_check.py no diretório ~/project para focar nessa avaliação booleana. Adicionaremos mais exemplos para ilustrar diferentes cenários.
## ~/project/string_check.py
string1 = "Python"
string2 = ""
string3 = " " ## A string containing two spaces
string4 = None ## A None object
print("String 1:", string1)
print("String 2:", string2)
print("String 3:", string3)
print("String 4:", string4)
if string1:
print("string1 is considered True")
else:
print("string1 is considered False")
if string2:
print("string2 is considered True")
else:
print("string2 is considered False")
if string3:
print("string3 is considered True")
else:
print("string3 is considered False")
if string4:
print("string4 is considered True")
else:
print("string4 is considered False")
Neste código:
- Adicionamos
string4, que recebe o valorNone.Noneé um valor especial em Python que representa a ausência de um valor. É importante notar queNonetambém é avaliado comoFalseem um contexto booleano. - Usamos diretamente as strings e
Nonenas instruçõesifsem comparar explicitamente seus comprimentos com 0.
Agora, execute o script:
python ~/project/string_check.py
Você deve ver a seguinte saída:
String 1: Python
String 2:
String 3:
String 4: None
string1 is considered True
string2 is considered False
string3 is considered True
string4 is considered False
Essa saída demonstra o seguinte:
string1("Python") é consideradoTrueporque é uma string não vazia.string2("") é consideradoFalseporque é uma string vazia.string3(" ") é consideradoTrueporque é uma string não vazia (contém espaços).string4(None) é consideradoFalseporqueNonesempre é avaliado comoFalse.
Usar a avaliação booleana diretamente é uma maneira comum e eficiente de verificar strings vazias e valores None em Python. Isso torna seu código mais legível e fácil de entender. No entanto, esteja atento a strings contendo apenas espaços, pois elas serão consideradas True usando este método. Se você precisar verificar especificamente strings sem caracteres (incluindo espaços), usar len(string.strip()) > 0 pode ser mais apropriado.
Resumo
Neste laboratório, exploramos como determinar se uma string não está vazia em Python. Criamos um arquivo string_check.py e definimos duas strings, uma não vazia e outra vazia. Em seguida, usamos a instrução if string:, aproveitando a avaliação booleana do Python, onde uma string vazia é False e uma string não vazia é True, para verificar se as strings não estavam vazias.
Também demonstramos um método alternativo usando a função len(). Verificando se len(string) > 0, podemos determinar se uma string contém pelo menos um caractere e, portanto, não está vazia. Ambos os métodos alcançam o mesmo resultado, identificando strings não vazias.



