Lista de métodos de cadea para manipular letras maiúsculas e minúsculas en Python

Negocios

O tipo de cadea (str) de Python vén de serie con métodos cómodos para manipular letras maiúsculas e minúsculas. Podes converter entre maiúsculas e minúsculas e determinar o caso.

A seguinte información ofrécese aquí.

  • Conversión entre maiúsculas e minúsculas
    • Uso básico
    • Manexo de caracteres de tamaño completo e de tamaño medio
    • str.upper()Converte todas as letras en maiúsculas
    • str.lower()Converte todas as letras en minúsculas
    • str.capitalize()Converte a primeira letra en maiúscula e o resto en minúscula.
    • str.title()Converte a primeira letra dunha palabra en maiúsculas e o resto en minúsculas.
    • str.swapcase()Converte letras maiúsculas en minúsculas e letras minúsculas en maiúsculas.
  • Determinar letras maiúsculas e minúsculas
    • str.isupper(): determina se todas as letras están en maiúscula
    • str.islower(): determina se todos os caracteres están en minúscula.
    • str.istitle(): Determine se é un caso de título.
  • Compara cadeas sen distinguir entre maiúsculas e minúsculas

Conversión entre maiúsculas e minúsculas

Uso básico

En primeiro lugar, explicarei o uso básico. Usaremos o método upper() para escribir todas as letras como exemplo, pero o mesmo aplícase a outros métodos.

Por comodidade, escribimos “conversión”, pero en Python, os obxectos de tipo cadea (str) non se poden actualizar, polo que a cadea orixinal (s_org no exemplo) non se modifica.

s_org = 'pYThon proGramminG laNguAge'

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

print(s_org)
# pYThon proGramminG laNguAge

Se queres usar a cadea convertida máis tarde, podes almacenala nunha nova variable do seguinte xeito.

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

Tamén é posible sobrescribir a variable orixinal.

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

Manexo de caracteres de tamaño completo e de tamaño medio

Se un carácter distingue entre maiúsculas e minúsculas, como o alfabeto, converterase en caracteres de byte único e de dobre byte.

Os caracteres que non distinguen entre maiúsculas e minúsculas, como os números e os caracteres chineses, permanecen sen cambios. O exemplo é para upper(), pero o mesmo aplícase a outros métodos.

s_org = 'Pyhon Python 123'

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

str.upper(): converte todas as letras en maiúsculas

s_org = 'pYThon proGramminG laNguAge'

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

str.lower(): converte todos os caracteres en minúsculas

s_org = 'pYThon proGramminG laNguAge'

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

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

s_org = 'pYThon proGramminG laNguAge'

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

str.title(): converte a primeira letra dunha palabra en maiúsculas e o resto en minúsculas

Conversión a un caso chamado título.

s_org = 'pYThon proGramminG laNguAge'

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

str.swapcase(): converte maiúsculas en minúsculas, minúsculas en maiúsculas

Intercambiar letras maiúsculas e minúsculas.

s_org = 'pYThon proGramminG laNguAge'

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

Determinar letras maiúsculas e minúsculas

Nos seguintes exemplos, os métodos chámanse directamente desde literais de cadea como ‘python’, pero o mesmo ocorre cando se almacenan en variables como nos exemplos anteriores.

str.isupper(): determina se todas as letras están en maiúscula

isupper() devolve verdadeiro se contén polo menos un carácter que distingue entre maiúsculas e minúsculas e todos eles están en maiúsculas, e falso en caso contrario.

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

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

Se o carácter distingue entre maiúsculas e minúsculas, mesmo os caracteres de dobre byte son xulgados.

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

Se incluso se inclúe un único carácter que distingue entre maiúsculas e minúsculas, o carácter que non distingue entre maiúsculas e minúsculas é ignorado, pero se non se inclúe ningún carácter (todos os caracteres non distinguen entre maiúsculas e minúsculas), a decisión é falsa.

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

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

str.islower(): determina se todos os caracteres son minúsculas

islower() devolve verdadeiro se contén polo menos un carácter que distingue entre maiúsculas e minúsculas e todos eles están en minúsculas, e falso en caso contrario.

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

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

Se o carácter distingue entre maiúsculas e minúsculas, mesmo os caracteres de dobre byte son xulgados.

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

Se incluso se inclúe un único carácter que distingue entre maiúsculas e minúsculas, o carácter que non distingue entre maiúsculas e minúsculas é ignorado, pero se non se inclúe ningún carácter (todos os caracteres non distinguen entre maiúsculas e minúsculas), a decisión é falsa.

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

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

str.istitle(): determina se o caso é un caso do título.

istitle() devolve verdadeiro se a cadea é un título (a primeira letra da palabra é maiúscula, o resto son minúsculas), false en caso contrario.

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

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

Se contén caracteres que non distinguen maiúsculas e minúsculas, será falso se os caracteres que non distinguen maiúsculas e minúsculas van precedidos dunha letra minúscula.

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

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

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

Teña en conta que non hai moitas cadeas como o exemplo anterior, pero é realista incluír números en números ordinais e noutros casos.

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

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

Se non se inclúen caracteres que distinguen maiúsculas e minúsculas (todos os caracteres non distinguen maiúsculas e minúsculas), é falso.

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

Compara cadeas sen distinguir entre maiúsculas e minúsculas

Ao comparar cadeas, as letras maiúsculas e minúsculas diferentes non se consideran equivalentes.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Se queres facer unha comparación que non distinga entre maiúsculas e minúsculas, podes usar upper() ou lower() para converter os dous e comparalos.

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

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

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

print(s1.title() == s2.title())
# True
Copied title and URL