Como Converter uma String para Minúsculas em Python

Ana Maria Gomes
4 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com texto muitas vezes nos deparamos com a necessidade de converter-lo em minúsculos, em Python você pode fazer conversão de strings maiúsculas para minúsculas usando alguns métodos, nesse tutorial vamos conhecer alguns deles e entender o funcionamento de cada um com exemplos práticos.

Usando o Método str.lower()

O método mais direto para converter uma string para minúsculas em Python é usar o método str.lower(). Esse método retorna uma cópia da string com todos os caracteres convertidos para minúsculas.

Aqui está um exemplo simples:

original_string = "Kilometer"
lowercase_string = original_string.lower()
print(lowercase_string)  # Saída: "kilometer"
Testar

Comparação Insensível a Maiúsculas e Minúsculas com casefold()

Se o seu objetivo é realizar uma comparação que não diferencie maiúsculas de minúsculas, você deve considerar o uso do método str.casefold(). Esse método é semelhante ao str.lower(), mas é mais agressivo e é destinado para comparações sem distinção de caixa.

Aqui está um exemplo que ilustra a diferença:

german_string = "Maße"
print(german_string.casefold())  # Saída: "masse"
print(german_string.lower())     # Saída: "maße"
Testar

Note como casefold() converte o ‘ß’ para ‘ss’, que é o equivalente correto para uma comparação insensível a maiúsculas e minúsculas, enquanto lower() não faz isso.

Strings Unicode no Python 3

O Python 3 trata todas as literais de string simples como Unicode por padrão, o que significa que você pode usar o método lower() em strings Unicode sem nenhuma etapa adicional:

unicode_string = 'Километр'
print(unicode_string.lower())  # Saída: "километр"
Testar

Manipulando Strings no Python 2

No Python 2, as strings são tratadas como bytes por padrão. Para trabalhar com strings Unicode, você precisa prefixar suas literais de string com u:

unicode_literal = u'Километр'
print(unicode_literal.lower())  # Saída: "километр"
Testar

Se você tem uma string de bytes no Python 2, pode convertê-la para uma string Unicode usando o construtor unicode() ou o método str.decode():

byte_string = 'Километр'
unicode_string = byte_string.decode('utf-8')
print(unicode_string.lower())  # Saída: "километр"

Melhores Práticas

É recomendado trabalhar com texto em Unicode internamente dentro do seu software, convertendo para uma codificação específica apenas quando necessário para saída. Essa abordagem evita muitos erros comuns relacionados à codificação de strings.

Resumo

Neste artigo, aprendemos como converter strings para minúsculas em Python usando o método str.lower(). Também discutimos o método str.casefold() para comparação insensível a maiúsculas e minúsculas e como manipular strings Unicode tanto no Python 2 quanto no Python 3. Lembre-se, ao trabalhar com texto, é melhor manipular strings em Unicode para evitar problemas de codificação.

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: