Lista de métodos de cordas para manipulação de letras maiúsculas e minúsculas em Python

O negócio

O tipo de corda Python (str) vem de série com métodos convenientes de manipulação de letras maiúsculas e minúsculas. Pode converter entre letras maiúsculas e minúsculas e determinar o caso.

A seguinte informação é fornecida aqui.

  • Conversão entre letras maiúsculas e minúsculas
    • Utilização básica
    • Manuseamento de caracteres de tamanho normal e de tamanho médio
    • str.upper()Converter todas as letras em maiúsculas
    • str.lower()Converter todas as letras em minúsculas
    • str.capitalize()Converter a primeira letra em maiúsculas e o resto em minúsculas.
    • str.title()Converter a primeira letra de uma palavra em maiúsculas e o resto em minúsculas.
    • str.swapcase()Converter letras maiúsculas para minúsculas e letras minúsculas para maiúsculas.
  • Determinar as letras maiúsculas e minúsculas
    • str.isupper(): Determinar se todas as letras são maiúsculas
    • str.islower(): Determinar se todos os caracteres são minúsculos.
    • str.istitle(): Determinar se se trata de um caso de título.
  • Comparar cordas de uma forma não sensível a maiúsculas e minúsculas

Conversão entre letras maiúsculas e minúsculas

Utilização básica

Em primeiro lugar, explicarei o uso básico. Utilizaremos o método superior() para capitalizar todas as letras como exemplo, mas o mesmo se aplica a outros métodos.

Por uma questão de conveniência, escrevemos “conversão”, mas em Python, os objectos de tipo string (str) não são actualizáveis, pelo que a string original (s_org no exemplo) em si não é alterada.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

print(s_org)
# pYThon proGramminG laNguAge

Se quiser utilizar a string convertida mais tarde, pode armazená-la numa nova variável, como se segue.

s_new = s_org.upper()
print(s_new)
# PYTHON PROGRAMMING LANGUAGE

Também é possível escrever por cima da variável original.

s_org = s_org.upper()
print(s_org)
# PYTHON PROGRAMMING LANGUAGE

Manuseamento de caracteres de tamanho normal e de tamanho médio

Se um caractere for sensível a maiúsculas e minúsculas, como o alfabeto, será convertido em caracteres de byte único e de byte duplo.

Os caracteres que não são sensíveis a maiúsculas e minúsculas, tais como números e caracteres chineses, permanecem inalterados. O exemplo é para superior(), mas o mesmo se aplica a outros métodos.

s_org = 'Pyhon Python 123'

print(s_org.upper())
# PYHON PYTHON 123

str.upper(): converter todas as letras em maiúsculas

s_org = 'pYThon proGramminG laNguAge'

print(s_org.upper())
# PYTHON PROGRAMMING LANGUAGE

str.lower(): converter todos os caracteres para minúsculas

s_org = 'pYThon proGramminG laNguAge'

print(s_org.lower())
# python programming language

str.capitalize(): converter a primeira letra em maiúsculas, o resto em minúsculas

s_org = 'pYThon proGramminG laNguAge'

print(s_org.capitalize())
# Python programming language

str.title(): converter a primeira letra de uma palavra em maiúsculas e o resto em minúsculas

Conversão para o chamado caso do título.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.title())
# Python Programming Language

str.swapcase(): converter letras maiúsculas para minúsculas, minúsculas para maiúsculas

Trocar letras maiúsculas e minúsculas.

s_org = 'pYThon proGramminG laNguAge'

print(s_org.swapcase())
# PytHON PROgRAMMINg LAnGUaGE

Determinar as letras maiúsculas e minúsculas

Nos exemplos seguintes, os métodos são chamados directamente a partir de literais de cordel como 'píton', mas o mesmo é verdade quando armazenados em variáveis como nos exemplos anteriores.

str.isupper(): determinar se todas as letras são maiúsculas

isupper() retorna verdadeiro se contiver pelo menos um carácter sensível a maiúsculas e todas elas forem maiúsculas, e falsas de outra forma.

print('PYTHON'.isupper())
# True

print('Python'.isupper())
# False

Se o carácter for sensível a maiúsculas e minúsculas, até os caracteres de bytes duplos são julgados.

print('PYTHON'.isupper())
# True

Se mesmo um único carácter sensível a maiúsculas e minúsculas for incluído, o carácter não sensível a maiúsculas e minúsculas é ignorado, mas se não for incluído nenhum carácter sensível a maiúsculas e minúsculas (todos os caracteres são sensíveis a maiúsculas e minúsculas), a decisão é falsa.

print('PYTHON 123'.isupper())
# True

print('123'.isupper())
# False

str.islower(): determinar se todos os caracteres são minúsculos

islower() retorna verdadeiro se contiver pelo menos um carácter sensível ao caso e todos eles forem minúsculos, e falsos de outra forma.

print('python'.islower())
# True

print('Python'.islower())
# False

Se o carácter for sensível a maiúsculas e minúsculas, até os caracteres de bytes duplos são julgados.

print('python'.islower())
# True

Se mesmo um único carácter sensível a maiúsculas e minúsculas for incluído, o carácter não sensível a maiúsculas e minúsculas é ignorado, mas se não for incluído nenhum carácter sensível a maiúsculas e minúsculas (todos os caracteres são sensíveis a maiúsculas e minúsculas), a decisão é falsa.

print('python 123'.islower())
# True

print('123'.islower())
# False

str.istitle(): Determinar se o caso é um caso de título.

istitle() retorna verdadeiro se a cadeia for um caso de título (a primeira letra da palavra é maiúscula, as restantes são minúsculas), falso caso contrário.

print('Python Programming Language'.istitle())
# True

print('PYTHON Programming Language'.istitle())
# False

Se contiver caracteres não sensíveis a maiúsculas e minúsculas, será falso se os caracteres não sensíveis a maiúsculas forem precedidos por uma letra minúscula.

print('★Python Programming Language'.istitle())
# True

print('Python★ Programming Language'.istitle())
# True

print('Py★thon Programming Language'.istitle())
# False

Note-se que não há muitas cordas como o exemplo acima, mas é realista incluir números em números ordinais e outros casos.

print('The 1st Team'.istitle())
# False

print('The 1St Team'.istitle())
# True

Se não forem incluídos caracteres sensíveis a maiúsculas e minúsculas (todos os caracteres são insensíveis a maiúsculas e minúsculas), falsos.

print('123'.istitle())
# False

Comparar cordas de uma forma não sensível a maiúsculas e minúsculas

Ao comparar cordas, letras maiúsculas e minúsculas diferentes não são consideradas equivalentes.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Se quiser fazer uma comparação não sensível a casos, pode usar a superior() ou a inferior() para converter os dois e compará-los.

print(s1.upper() == s2.upper())
# True

print(s1.lower() == s2.lower())
# True

print(s1.capitalize() == s2.capitalize())
# True

print(s1.title() == s2.title())
# True