Upper
str.upper()
Devuelve una cadena con todos los caracteres en mayúsculas -en caso de que puedan ser convertidos-. Por ejemplo:
>>> 'es un buen día!'.upper()
'ES UN BUEN DÍA!'
- Si utilizamos el método upper, vemos que se convierten todas las letras a mayúsculas, incluyendo las acentuadas.
Lower
str.lower()
Devuelve una cadena con todos los caracteres convertidos a minúscula -en caso de que puedan ser convertidos-. Por ejemplo:
>>> 'NO SE ACEPTAN GRITOS!'.lower()
'no se aceptan gritos!'
.
- Utilizamos el método lower y vemos que todas las letras son convertidas a minúsculas.
Casefold
str.casefold()
Es similar a lower, pero aún más agresivo. Por ejemplo, para el caracter ‘ß’ del alemán, mientras que lower no aplica ningún cambio, casefold lo convierte en su representación minúscula ‘ss’. Por ejemplo:
>>> 'der Fluß'.lower()
'der fluß'
>>> 'der Fluß'.casefold()
'der fluss'
- Utilizamos lower para la frase “el río” en alemán y vemos que el caracter ‘ß’ no es modificado.
- Si utilizamos casefold para la misma frase, vemos que ‘ß’ es convertido en ‘ss’
Swapcase
str.swapcase()
Devuelve una cadena intercambiando los caracteres entre mayúsculas y minúsculas. Por ejemplo:
>>> 'AZUL school'.swapcase()
'azul SCHOOL'
- Utilizamos el método swapcase para la cadena ‘AZUL school’ y vemos que se invierten los caracteres.
Vale aclarar que str == str.swapcase().swapcase() no siempre será True. Veamos un ejemplo:
>>> 'AZUL school' == 'AZUL school'.swapcase().swapcase()
True
>>> 'der fluß' == 'der fluß'.swapcase().swapcase()
False
>>> 'der fluß'.swapcase()
'DER FLUSS'
>>> 'der fluß'.swapcase().swapcase()
'der fluss'
- Si aplicamos swapcase 2 veces para ‘AZUL school’ y lo comparamos contra la misma cadena, vemos que devuelve True.
- Si hacemos lo mismo para la cadena ‘der fluß’, vemos que el resultado es False.
- Esto ocurre porque al aplicar swapcase a ‘der fluß’, se obtiene la cadena ‘DER FLUSS’.
- Al volver a aplicar swapcase a dicha cadena, se obtiene ‘der fluss’, que no es igual a ‘der fluß’.
Title
str.title()
Devuelve una cadena donde cada una de las palabras comenzará con mayúscula y el resto de caracteres en minúscula. Por ejemplo:
>>> 'Hola mundo!'.title()
'Hola Mundo!'
- Utilizamos el método title y vemos que todas palabras comienzan en mayúscula.
Vale aclarar que el algoritmo utilizado por title es simple, donde no se distinguen letras consecutivas aplicadas a algunos idiomas y los apóstrofes delimitan palabras, por lo que su resultado puede no ser el esperado. Por ejemplo:
>>> "they're friends from USA.".title()
"They'Re Friends From Usa."
- Utilizamos title en una frase en inglés con apóstrofe y siglas y vemos que el resultado no es el esperado.
Capitalize
str.capitalize()
Devuelve una cadena con su primer carácter en mayúscula y el resto en minúscula; esto surge de aplicar title al primer carácter. Por ejemplo:
>>> 'en azul school aprendemos python!'.capitalize()
'En azul school aprendemos python!'
- Al utilizar el método capitalize, vemos que el primer caracter se convierte en mayúscula.
Métodos de Búsqueda
Find
str.find(sub[, start[, end]])
Busca y devuelve la posición la primera ocurrencia del parámetro sub dentro de la cadena. Adicionalmente se pueden especificar los parámetros start y end para acotar la búsqueda entre dichas posiciones. Si la búsqueda no es exitosa, devuelve -1. Por ejemplo:
>>> 'Avada Kedavra'.find('v')
1
>>> 'Avada Kedavra'.find('v', 3)
10
>>> 'Avada Kedavra'.find('v', 3, 5)
-1
- Si buscamos el caracter ‘v’ en la frase ‘Avada Kedavra’ nos devuelve que se encuentra en la posición 1.
- Si indicamos que la búsqueda comience en la posición 3, devuelve que se encuentra en la posición 10.
- Si indicamos que se busque solo entre las posiciones 3 y 5, devuelve -1.
Index
str.index(sub[, start[, end]])
Su funcionamiento es igual a find, pero eleva ValueError en caso que la búsqueda no sea exitosa. Por ejemplo:
>>> 'Avada Kedavra'.index('v', 3, 5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
- Si realizamos la última búsqueda pero utilizando el método index, vemos que se eleva una excepción ValueError.
Rfind
str.rfind(sub[, start[, end]])
Funciona de manera similar a find, a diferencia de que devuelve la posición más alta de la búsqueda. Por ejemplo:
>>> 'Avada Kedavra'.rfind('v')
10
>>> 'Avada Kedavra'.rfind('v', 3, 5)
-1
- Si buscamos el caracter ‘v’ en la misma frase con el método rfind, vemos que devuelve la posición 10.
- Al igual que find, si la búsqueda no es exitosa, devuelve -1.
Rindex
str.rindex(sub[, start[, end]])
Su funcionamiento es igual a rfind, pero eleva ValueError en caso que la búsqueda no sea exitosa. Por ejemplo:
>>> 'Avada Kedavra'.rindex('v', 3, 5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
- Si realizamos la última búsqueda pero utilizando el método rindex, vemos que se eleva una excepción ValueError.