Lista de métodos de cadena para manipular letras mayúsculas y minúsculas en Python

Negocio

El tipo de cadena de Python (str) viene de serie con métodos convenientes para manipular las letras mayúsculas y minúsculas. Puedes convertir entre mayúsculas y minúsculas y determinar el caso.

La siguiente información se proporciona aquí.

  • Conversión entre mayúsculas y minúsculas
    • Uso básico
    • Manejo de caracteres de tamaño completo y medio tamaño
    • str.upper()Convertir todas las letras en mayúsculas
    • str.lower()Convertir todas las letras en minúsculas
    • str.capitalize()Convierte la primera letra en mayúscula y el resto en minúscula.
    • str.title()Convierte la primera letra de una palabra en mayúscula y el resto en minúscula.
    • str.swapcase()Convierte las letras mayúsculas en minúsculas y las minúsculas en mayúsculas.
  • Determinar las letras mayúsculas y minúsculas
    • str.isupper(): Determina si todas las letras son mayúsculas
    • str.islower(): Determina si todos los caracteres están en minúsculas.
    • str.istitle(): Determine si se trata de un caso de título.
  • Comparación de cadenas sin distinción de mayúsculas y minúsculas

Conversión entre mayúsculas y minúsculas

Uso básico

Primero, explicaré el uso básico. Utilizaremos el método upper() para poner en mayúsculas todas las letras como ejemplo, pero lo mismo se aplica a otros métodos.

Por conveniencia, escribimos «conversión», pero en Python, los objetos de tipo cadena (str) no son actualizables, por lo que la cadena original (s_org en el ejemplo) no se modifica.

s_org = 'pYThon proGramminG laNguAge'

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

print(s_org)
# pYThon proGramminG laNguAge

Si quieres utilizar la cadena convertida más tarde, puedes almacenarla en una nueva variable de la siguiente manera.

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

También es posible sobrescribir la variable original.

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

Manejo de caracteres de tamaño completo y medio tamaño

Si un carácter distingue entre mayúsculas y minúsculas, como el alfabeto, se convertirá en caracteres de un solo byte y de doble byte.

Los caracteres que no distinguen entre mayúsculas y minúsculas, como los números y los caracteres chinos, no se modifican. El ejemplo es para upper(), pero lo mismo se aplica a otros métodos.

s_org = 'Pyhon Python 123'

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

str.upper(): convierte todas las letras en mayúsculas

s_org = 'pYThon proGramminG laNguAge'

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

str.lower(): convierte todos los caracteres en minúsculas

s_org = 'pYThon proGramminG laNguAge'

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

str.capitalize(): convierte la primera letra en mayúscula, el resto en minúscula

s_org = 'pYThon proGramminG laNguAge'

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

str.title(): convierte la primera letra de una palabra en mayúscula y el resto en minúscula

Conversión a un caso llamado de título.

s_org = 'pYThon proGramminG laNguAge'

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

str.swapcase(): convierte las mayúsculas en minúsculas y las minúsculas en mayúsculas

Intercambiar letras mayúsculas y minúsculas.

s_org = 'pYThon proGramminG laNguAge'

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

Determinar las letras mayúsculas y minúsculas

En los siguientes ejemplos, los métodos se llaman directamente desde literales de cadena como 'python', pero lo mismo ocurre cuando se almacenan en variables como en los ejemplos anteriores.

str.isupper(): determina si todas las letras son mayúsculas

isupper() devuelve true si contiene al menos un carácter de mayúsculas y todos ellos son mayúsculos, y false en caso contrario.

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

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

Si el carácter es sensible a las mayúsculas y minúsculas, se juzgan incluso los caracteres de doble byte.

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

Si se incluye incluso un solo carácter sensible a las mayúsculas y minúsculas, se ignora el carácter insensible a las mayúsculas y minúsculas, pero si no se incluye ningún carácter sensible a las mayúsculas y minúsculas (todos los caracteres son insensibles a las mayúsculas y minúsculas), la decisión es falsa.

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

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

str.islower(): determina si todos los caracteres están en minúsculas

islower() devuelve true si contiene al menos un carácter de mayúsculas y minúsculas, y false en caso contrario.

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

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

Si el carácter es sensible a las mayúsculas y minúsculas, se juzgan incluso los caracteres de doble byte.

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

Si se incluye incluso un solo carácter sensible a las mayúsculas y minúsculas, se ignora el carácter insensible a las mayúsculas y minúsculas, pero si no se incluye ningún carácter sensible a las mayúsculas y minúsculas (todos los caracteres son insensibles a las mayúsculas y minúsculas), la decisión es falsa.

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

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

str.istitle(): Determina si el caso es un caso de título.

istitle() devuelve true si la cadena es un caso de título (la primera letra de la palabra es mayúscula, el resto son minúsculas), false en caso contrario.

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

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

Si contiene caracteres insensibles a las mayúsculas y minúsculas, será falso si los caracteres insensibles a las mayúsculas y minúsculas van precedidos de una letra minúscula.

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

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

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

Tenga en cuenta que no hay muchas cadenas como las del ejemplo anterior, pero es realista incluir números en los ordinales y otros casos.

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

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

Si no se incluyen caracteres que distingan entre mayúsculas y minúsculas (todos los caracteres son insensibles a las mayúsculas), false.

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

Comparación de cadenas sin distinción de mayúsculas y minúsculas

Al comparar cadenas, las letras mayúsculas y minúsculas diferentes no se consideran equivalentes.

s1 = 'python'
s2 = 'PYTHON'

print(s1 == s2)
# False

Si quiere hacer una comparación que no distinga entre mayúsculas y minúsculas, puede utilizar upper() o lower() para convertirlas y compararlas.

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

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

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

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