Métodos de cadenas

Las cadenas son un ejemplo de objetos en Python. Un objeto contiene tanto datos (el valor de la cadena misma) como métodos, los cuales son efectivamente funciones que están implementadas dentro del objeto y que están disponibles para cualquier instancia del objeto.

Python tiene una función llamada dir la cual lista los métodos disponibles para un objeto. La función type muestra el tipo de un objeto y la función dir muestra los métodos disponibles.

Aunque la función dir lista los métodos y puedes usar la función help
para obtener una breve documentación de un método, una mejor fuente
de documentación para los métodos de cadenas se puede encontrar en https://docs.python.org/library/stdtypes.html#string-methods.

Llamar a un método es similar a llamar una función (esta toma argumentos y
devuelve un valor
) pero la sintaxis es diferente. Llamamos a un método uniendo
el nombre del método al de la variable, usando un punto como delimitador.

Por ejemplo, el método upper toma una cadena y devuelve una nueva cadena con todas las letras en mayúscula:

En vez de la sintaxis de función upper(word), éste utiliza la sintaxis de método word.upper().

Esta forma de notación con punto especifica el nombre del método, upper, y el nombre de la cadena al que se le aplicará el método, palabra. Los paréntesis vacíos indican que el método no toma argumentos.

Una llamada a un método es conocida como una invocación; en este caso, diríamos que estamos invocando upper en palabra.

Por ejemplo, existe un método de cadena llamado find que busca la posición de una cadena dentro de otra:

En este ejemplo, invocamos find en palabra y pasamos la letra que estamos
buscando como un parámetro.

El método find puede encontrar subcadenas así como caracteres:

También puede tomar como un segundo argumento el índice desde donde debe empezar:

Una tarea común es eliminar los espacios en blanco (espacios, tabs, o nuevas líneas) en el inicio y el final de una cadena usando el método strip:

Algunos métodos como startswith devuelven valores booleanos.

Puedes notar que startswith requiere que el formato (mayúsculas y minúsculas) coincida, de modo que a veces tendremos que tomar la línea y cambiarla completamente a minúsculas antes de hacer la verificación, utilizando el método lower.

En el último ejemplo, el método lower es llamado y después usamos startswith para ver si la cadena resultante en minúsculas comienza con la letra “y”. Siempre y cuando seamos cuidadosos con el orden, podemos hacer múltiples llamadas a métodos en una sola expresión.