Ya para este punto conocemos muy bien los tipos de variables básicas con las que podemos trabajar en python. Es momento de ver los métodos que nos ofrece cada uno de los tipos de datos, para este artículo vamos a trabajar con algunos métodos str.
Consideraciones previas
- Si es tu primera vez por acá recomiendo que veas los artículos anteriores:
- El lenguaje escogido para explicar los conceptos de codificación será python 🐍
- Realiza los retos propuestos porque práctica es lo que va a ayudarte a reforzar el conocimiento aprendido
💡 Recomendación: Visualiza los métodos de ahora en adelante como ayudas que tiene el lenguaje para facilitarnos ciertas tareas comunes que realizamos a la hora de programar.
Métodos comunes para tipo de datos str
Para las cadenas de caracteres o los tipos de dato str en python se pueden hacer las siguientes operaciones.
Mostrar uno o varios caracteres específicos de una cadena
Puedes acceder a caracteres individuales dentro de una cadena haciendo su de su índice, esto se conoce como indexación.
cadena = "Python"
print(cadena[0])
Lo anterior nos dará como salida la letra “P”. Además, podrás extra subcadenas de caracteres mediante la segmentación o slicing. Por ejemplo:
cadena = "Python"
print(cadena[2:5])
Las líneas de código anterior dará como resultado el conjunto de caracteres “tho”.
Saber la longitud de una cadena
Para esto se hace empleo del método len()
el cual nos devuelve un número que es la longitud de caracteres que tenga nuestra cadena.
dulce = "Barra de chocolate"
len(dulce)
Con el anterior ejemplo tendremos como resultado el número 18, es crucial que sepas que los espacios entre letras también se cuentan como un carácter.
Dividir una cadena según sus caracteres
Podemos dividir una cadena de texto según el tipo de separador que deseemos. En Python podemos hacer uso del método split()
.
proverbio = "No hay mal que por bien o venga"
proverbio.split()
Si se usa la función de esta manera se separan los caracteres teniendo en cuenta el espacio vacío que haya entre cada uno de ellos. Si, por el contrario, deseas especificar el carácter de separación, puedes hacerlo poniéndolo entre los paréntesis del método.
herramientas = "Matillo,Sierra,Destronillador"
herramientas.split(',')
El método split()
nos devuelve los caracteres en una lista, el cual es un tipo de dato en python que veremos más adelante en próximas publicaciones.
Reemplazar elementos
Puedes emplear la función replace()
indicando la subcadena a reemplazar y cuantas instancias se deben reemplazar.
proverbio = "Quien mal anda mal acaba"
proverbio.replace("mal", "bien", 1)
Ten en cuenta que si no se especifica cuantas veces será reemplazada, la sustitución se hará en todas las instancias encontradas que coincidan con el criterio de sustitución.
proverbio = "Quien mal anda mal acaba"
proverbio.replace("mal", "bien")
Manejo de mayúsculas y minúsculas
Python te permite realizar variaciones en los caracteres de una cadena de texto entre mayúscula y minúscula.
-
Con
capitalize()
la primera letra de la cadena de caracteres se coloca en mayúsculaproverbio = "quien mal anda mal acaba" proverbio.capitalize()
-
Con
title()
la primera letra de cada grupo de caracteres después de un espacio se colocan en mayúsculaproverbio = "quien mal anda mal acaba" proverbio.title()
-
Con
upper()
todos los caracteres de la cadena se colocan en mayúsculaproverbio = "quien mal anda mal acaba" proverbio.upper()
-
Con
lower()
todos los caracteres de la cadena se colocan en minúsculaproverbio = "QUIEN MAL ANDA MAL ACABA" proverbio.lower()
Mostrar un mensaje en consola
Este lo hemos visto ya muchas veces y es básicamente el método print()
que nos permita dar un mensaje en consola.
comida_rapida = "Hamburguesa"
print(comida_rapida)
Leer datos desde el teclado
Para esto se implementa el método input()
que permite que puedas interactuar con el usuario y solicitar la información que tú desees y aprovecharlo como necesites.
nombre_pedido = input("Introduzca el pedido que desea en nuestro restaurante: ")
Dos cosas que no puedes olvidar:
- Se puede especificar el mensaje que desee, lo cuales muy recomendable para que el usuario tenga contexto de que debe escribir en el teclado
- El método
input()
siempre nos va a devolver un objeto de tipo cadena de texto o str
Limpiar una cadena de caracteres no requeridos
Cuando recibimos información por parte del usuario o de cualquier fuente externa, es muy probable que se incluyan “caracteres de relleno” al comienzo y al final. Por lo cual python nos ofrece el método strip()
de eliminar esos caracteres u otros que necesitemos.
-
Si no se especifican los caracteres de
strip()
elimina cualquier combinación de espacios en blanco, saltos de línea\n
o tabuladores\t
numero_pedido = "\n\t \n 48374983274832 \n\n\t \t \n" numero_pedido.strip() #48374983274832
-
Para hacer limpieza al principio de la cadena, lo que significa a la izquierda de la cadena, podemos hacer uso de
lstrip()
numero_pedido = "\n\t \n 48374983274832 \n\n\t \t \n" numero_pedido.lstrip() #48374983274832 \n\n\t \t \n
-
Para hacer limpieza al final de la cadena, lo que significa a la derecha de la cadena, podemos hacer uso de
rstrip()
numero_pedido = "\n\t \n 48374983274832 \n\n\t \t \n" numero_pedido.rstrip() #\n\t \n 48374983274832
Existen muchos más métodos para manejar strings con python por lo cual te invito a que los revises en este link a la documentación oficial.
Reto 🧑🏻🏭
Realiza los siguientes ejercicios para poner en práctica lo aprendido en este artículo:
- Realizar un script que le solicite al usuario dos números y una frase. Con la anterior información se generará un substring que cumpla con los siguientes criterios:
- El primer número nos indicará a la posición de inicio del substring con base en la frase ingresada
- El segundo nos indicará la longitud del substring
- Crea un script que le solicite al usuario una frase cualquiera. A continuación solicitará una letra que desee el usuario reemplazar y por cuál letra debe ser reemplazada. Ten en cuenta también estos criterios:
- Se mostrará en pantalla el número de veces que la letra está presente en la frase
- Se mostrará en pantalla la nueva frase generada
Si tienes alguna duda no dudes en escribirme en @arizamoisesco en Twitter.