Mostramos algunos ejemplos de uso de funciones auxiliares para el tratamiento de cadenas de texto (string) en el lenguaje de programación Python. Explicamos el uso de capitalize(), lower(), upper(), title(), swapcase(), count(), len, startswith(), endswith(), find(), format() y el literal f.

Requisitos para el desarrollo de programas en Python

En el siguiente artículo explicamos detalladamente cómo instalar Python y el IDE Visual Studio Code que será el que usemos en este artículo para realizar programas Python y compilar y probar el resultado:

Función capitalize() en Python

La función capitalize() garantiza que el primer carácter de una cadena esté en mayúscula. Solo se escribe en mayúscula la primera letra de la cadena. Si la cadena contiene varias palabras separadas por caracteres vacíos, solo se escribe en mayúscula el primer carácter.

Esta función puede ser usada (llamada) de varias formas. A continuación mostramos tres ejemplos de su uso, la explicación y el resultado.

El resultado será:

Esto es una prueba de capitalize

En el primer caso llamamos a capitalize() como miembro de la clase str. En otras palabras, tenemos acceso al método auxiliar str mediante el operador de acceso a miembros, un símbolo de punto (.), en el nombre del propio tipo de datos. Posteriormente, llamamos al nombre de la función y pasamos nuestra cadena literal como argumento.

El resultado será:

Otra prueba de capitalize

En el segundo caso llamamos a la función capitalize() como miembro de la cadena literal. Es decir, tenemos acceso al método auxiliar str mediante el operador de acceso a miembros en el propio valor de la cadena literal. Cuando hacemos esto, no es necesario pasar nada como argumento. La función opera en la propia cadena literal.

El resultado será:

Tercera y última prueba de capitalize

El el tercer ejemplo llamamos a la función capitalize() como miembro de una variable. Al igual que en el ejemplo anterior, tenemos acceso al método auxiliar str mediante el operador de acceso a miembros en la variable que apunta a una cadena literal. De nuevo, no es necesario pasar nada como argumento porque la función opera en la cadena a la que apunta la variable.

Funciones lower, upper, title, swapcase en Python

Python incluye más funciones para cambio de mayúsculas a minúsculas:

  • lower(): convierte toda la cadena a minúsculas.
  • upper(): convierte toda la cadena a mayúsculas.
  • title(): convierte la primera letra de cada palabra a mayúsculas.
  • swapcase(): invierte las mayúsculas a minúsculas y viceversa.

A continuación mostramos un ejemplo de uso y el resultado de las funciones anteriores en Python:

El resultado del código anterior en Python:

Introduzca un texto: esto eS una prueBa de TEXTO en Python
Aplicando lower() al texto: esto es una prueba de texto en python
Aplicando upper() al texto: ESTO ES UNA PRUEBA DE TEXTO EN PYTHON
Aplicando title() al texto: Esto Es Una Prueba De Texto En Python
Aplicando swapcase() al texto: ESTO Es UNA PRUEbA DE texto EN pYTHON

Funciones lower, upper, title, swapcase en Python

Función count() para contar el número de veces que una subcadena aparece en una cadena en Python

A continuación unos ejemplos Python de la función count() que cuenta el número de veces que aparece un texto dentro de otro texto:

Función count() para contar el número de veces que una subcadena aparece en una cadena en Python

Función len() para obtener el tamaño de una cadena en Python

Un ejemplo de uso de la función len() en Python, que obtiene el número de caracteres de una cadena (tamaño):

El resultado del ejemplo:

Función len() para obtener el tamaño de una cadena en Python

Funciones startswith() y endswith() para buscar texto de inicio o fin en una cadena en Python

Las funciones startswith() y endswith() sirven para inspeccionar el contenido de una cadena de cara a averiguar si coincide con lo que esperaba que comenzara o finalizara, respectivamente. La función startswitch() devolverá true si el principio de la cadena de texto coincide con la subcadena pasada como parámetro. En el caso de endswith() es igual pero para el final del texto.

Veamos un ejemplo de ambas funciones y el resultado:

El resultado de la ejecución del ejemplo, donde puede verse que, como es lógico, estas funciones distinguen mayúsculas de minúsculas. No será igual la letra «n» que la letra «N», por ejemplo.

Funciones startswith() y endswith() para buscar texto de inicio o fin en una cadena en Python

Método find() para buscar la posición de una subcadena en una cadena en Python

El método find() busca la posición de base cero de una cadena dentro de otra. Empezando por 0, el método indica dónde se encuentra la cadena de búsqueda. Si no encuentra la cadena, devuelve -1.

A continuación mostramos un ejemplo del uso del método find() en Python. En este caso leeremos un fichero de texto en el equipo (que solicitaremos al usuario), previamente comprobaremos si el fichero existe en la ubicación especificada. En caso de no existir el programa se cerrará con código de salida 1. Si existe pedirá un texto al usuario. El programa buscara dicho texto en el fichero. Si existe el texto lo indicará, mostrará la posición donde lo ha encontrado y cerrará la aplicación con código de salida 3. En caso de no existir el texto en el fichero lo indicará y cerrará el programa con código de salida 2.

Como vemos, el caso anterior sirve también como ejemplo de lectura de ficheros en Python. También usamos el paquete os.path para averiguar si existe un fichero en disco.

El resultado del ejemplo anterior:

Método find() para buscar la posición de una subcadena en una cadena en Python

Funciones lstrip(), rstrip(), strip() para eliminar caracteres vacíos en el principio y el fin de una cadena en Python

Python proporciona las funciones lstrip(), rstrip() y strip() para quitar caracteres de espacio vacío en cadenas:

  • lstrip() para quitar los caracteres de espacio vacío del lado izquierdo de una cadena.
  • rstrip() para quitar los caracteres de espacio vacío del lado derecho de una cadena.
  • strip() para quitar los caracteres de espacio vacío del lado derecho y el izquierdo de una cadena.

Un ejemplo de uso de estas funciones en Python:

El resultado será:

Función replace() para reemplazar un texto dentro de otro texto en Python

A continuación os mostramos un ejemplo de uso de la función replace() en Python, que permite reemplazar un texto dado dentro de una cadena por el texto de búsqueda. En el ejemplo, se solicita al usuario una frase, un texto de búsqueda y el texto por el que se reemplazará si existe. El programa buscará el texto en la frase, si aparece, lo reemplazará por el texto dado por el usuario:

El resultado de la ejecución del programa será:

Función replace() para reemplazar un texto dentro de otro texto en Python

La función format() un poco más a fondo en Python

La función auxiliar format() combina valores en una plantilla de cadena literal, sin necesidad de una concatenación de cadenas desordenada. También puede dar formato a los valores combinados para su visualización adecuada, como en el caso de números, fechas y horas.

En la versión 3.6 de Python, los desarrolladores simplificaron el método format() en un prefijo de cadena, la letra f. Esto realiza prácticamente la misma funcionalidad, con menos escritura.

Varios ejemplos de uso de la función format() en Python:

El resultado de la ejecución del ejemplo anterior:

Aspirina – tome 5.4 ml por hora durante 4 meses
Aspirina – tome 5.4 ml por hora durante 4 meses
Diacepán – tome 4 ml por hora durante 3 meses

En el ejemplo anterior, se define una cadena de formato que contiene una serie de campos de reemplazo, tal como se define en un conjunto de llaves {}.

En el primer ejemplo, los campos de reemplazo no contienen valores. Mediante el operador de acceso a miembros, se llama a la función format(). Se pasan los valores que se quieren sustituir en cada campo de reemplazo, en el orden en que aparecen.

En el segundo ejemplo, se rellenan los campos de reemplazo con un valor numérico de base cero, que tiene acceso al argumento pasado a la función format(). Por lo que se puede cambiar el orden de los argumentos para mostrar el mismo texto.

En el tercer ejemplo, se rellenan los campos de reemplazo con nombres de variable. Esos mismos nombres de variable se pasan como argumentos con nombre en la función format().

Uso de f para formatear cadenas de texto en Python

El literal f funciona más o menos como la función format(), aunque ahora escritura. A continuación mostramos unos ejemplos de su uso:

El resultado de la ejecución del ejemplo anterior:

Hola, Mundo.
10 x 3.14 = 31.400000000000002.
El perímetro es 30 y el área es 50.
El número 256633.586 en formato separador de miles y dos decimales es 256,633.59
El número 256633.586 en formato separador de miles y dos decimales es 256.633.59
256.633,59

Tanto f, como format() incluyen infinidad de opciones para formato de todo tipo de cadenas y datos: fechas, horas, días, números, cadenas de texto, etc..