Como Converter String em Caixa Baixa em Python 2 e 3

Jinku Hu 10 outubro 2023 Python Python String
  1. Converter string em minúsculas em Python 3
  2. Converter string para minúsculas em Python 2.7
  3. Conclusão
Como Converter String em Caixa Baixa em Python 2 e 3

Converter string em minúsculas em Python 3

str desde que Python 3.0 contém por padrão caracteres Unicode, significando que qualquer string como "unicode example", 'unicode example 2' é armazenada como Unicode.

Portanto, você poderia utilizar str.lower() para converter qualquer string em minúsculas no Python 3.

exampleString = "CaseString"
exampleString.lower()
# Out: 'casestring'

exampleString = "СтрокаСлучая"
exampleString.lower()
# Out: 'строкаслучая'

str.casefold() conversão sem cas

str.lower() converte a string para minúsculas, mas não converte as distinções de caixa na string.

Por exemplo, ß em alemão é igual a s - ss, e ß em si já é minúscula, portanto, str.lower() não irá convertê-la.

Mas str.casefold() irá converter ß para ss.

>>> 'Straße'.lower()
'straße'
>>> 'Straße'.casefold()
'strasse'

Converter string para minúsculas em Python 2.7

str em Python 2.7 não é armazenado como Unicode, e Unicode strings são instâncias do tipo unicode. Devemos distinguir se a string é uma string ASCII ou uma string unicode quando convertemos a string em minúsculas.

ASCII tipo

É o mesmo com o método utilizado em Python 3. str.lower() converte a string para minúsculas.

exampleString = "CaseStringExample"
exampleString.lower()
# Out: 'casestringexample'

unicode tipo

Se os caracteres na string são do tipo Unicode, e a string não é explicitamente representada no tipo Unicode, o método str.lower() não converte a string para minúsculas.

# python 2.x
exampleString = "СтрокаСлучая"
print exampleString.lower()
#Out: СтрокаСлучая

exampleString.lower() == exampleString
#Out: True

Objetos Python para bytes não-ASCII em uma string sem codificação dada porque a codificação pretendida está implícita.

Usando Unicode literal, mas não str.

exampleUnicodeString = u"СтрокаСлучая"
exampleUnicode
# u'\u0421\u0442\u0440\u043e\u043a\u0430\u0421\u043b\u0443\u0447\u0430\u044f'
exampleUnicodeString.lower()
# u'\u0441\u0442\u0440\u043e\u043a\u0430\u0441\u043b\u0443\u0447\u0430\u044f'

print exampleUnicodeString.lower()
# Out: строкаслучая

Você pode ver aqui que o primeiro caractere da string é convertido de \u0421 para \u0441.

Converter um str para unicode

Se a string dada estiver na forma de str, precisamos primeiro convertê-la para Unicode antes da conversão em minúsculas.

exampleString = "СтрокаСлучая"
print exampleString.decode("utf-8").lower()
# Out: строкаслучая

Conclusão

O método lower() é o método para converter string para minúsculas tanto em Python 2 como em Python 3, mas com uma diferença perceptível.

string em Python 3 é a string unicode por padrão, mas string em Python 2 não é. Se a string não é explicitamente representada para ser do tipo unicode, por exemplo não colocando u antes da string, a string unicode não será convertida para minúsculas.

O str.casefold converte as distinções de caixa para suas combinações sem caixa, mas só está disponível em Python 3. Você poderia instalar py2casefold em Python 2.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artigo relacionado - Python String