Los strings en Python son secuencias de caracteres y ofrecen una variedad de métodos para su manipulación. Aquí exploraremos los métodos clave, desde transformar a mayúsculas y minúsculas hasta el uso de variables, f-strings, tabs, newlines, y strip para la manipulación eficiente.
1. Transformación a mayúsculas y minúsculas
Python proporciona métodos sencillos para cambiar la capitalización de un string:
# Convertir a mayúsculas
texto_mayusculas = "hola, mundo".upper()
# Convertir a minúsculas
texto_minusculas = "HOLA, MUNDO".lower()
Cuando necesites escribir un comentario en tu código solo debes escribir (#) y todo lo que escribas en esa línea después del signo será ignorado por el intérprete de Python. Los comentarios sirven para dejar indicaciones o indicios a otros programadores o a tú yo del futuro que regrese a ver el código después de un tiempo.
Estos métodos, upper()
y lower()
, son útiles para estandarizar la entrada del usuario o comparar strings sin distinción de mayúsculas y minúsculas.
# Métodos para manipular strings en Python
# Convertir a mayúsculas
texto_mayusculas = "hola, mundo".upper()
# Convertir a minúsculas
texto_minusculas = "HOLA, MUNDO".lower()
print("Éste es el texto en mayúsculas" + texto_mayusculas)
print("Éste es el texto en minúsculas" + texto_minusculas)
En la misma carpeta de archivos para este curso creo un nuevo documento strings.py con VSCode. Subiré este código a los archivos del curso para que puedas compararlo con el tuyo.
Este método también funciona con textos dentro de variables. (Pongo el signo # frente a las líneas de código que ya no quiero que se ejecuten y esto limpia la salida de mi programa).
# Métodos para manipular strings en Python
# Convertir a mayúsculas
texto_mayusculas = "hola, mundo".upper()
# Convertir a minúsculas
texto_minusculas = "HOLA, MUNDO".lower()
# print("Éste es el texto en mayúsculas: " + texto_mayusculas)
# print("Éste es el texto en minúsculas: " + texto_minusculas)
# También puedes usar los métodos con texto en una variable
miTexto = "hola a todos"
print(miTexto.upper())
2. Uso de variables en strings
Es posible insertar variables en strings para personalizar el contenido dinámicamente. Un ejemplo simple es:
# Métodos para manipular strings en Python
# Convertir a mayúsculas
texto_mayusculas = "hola, mundo".upper()
# Convertir a minúsculas
texto_minusculas = "HOLA, MUNDO".lower()
# print("Éste es el texto en mayúsculas: " + texto_mayusculas)
# print("Éste es el texto en minúsculas: " + texto_minusculas)
# También puedes usar los métodos con texto en una variable
miTexto = "hola a todos"
# print(miTexto.upper())
############## Uso de Variables en strings ####################
nombre = "Juan"
saludo = "Hola " + nombre
print(saludo)
3. Uso de F-Strings
Los f-strings son una forma poderosa y legible de formatear strings en Python. Solo debes escribir: f»Texto del mensaje {variable}»:
# Métodos para manipular strings en Python
# Convertir a mayúsculas
texto_mayusculas = "hola, mundo".upper()
# Convertir a minúsculas
texto_minusculas = "HOLA, MUNDO".lower()
# print("Éste es el texto en mayúsculas: " + texto_mayusculas)
# print("Éste es el texto en minúsculas: " + texto_minusculas)
# También puedes usar los métodos con texto en una variable
miTexto = "hola a todos"
# print(miTexto.upper())
############## Uso de Variables en strings ####################
nombre = "Juan"
saludo = "Hola " + nombre
# print(saludo)
############# Uso de F-Strings ###################
nombre = "María"
edad = 25
presentacion = f"Me llamo {nombre} y tengo {edad} años."
print(presentacion)
Al correr este código en VSCode me di cuenta que los caracteres especiales no los interpreta bien, como letras con acentos y la ñ, pero al correr el código en PowerShell se mostró de forma adecuada.
Los f-strings permiten la interpolación de variables directamente en el string, facilitando la creación de strings complejos y dinámicos.
4. Uso de Tabs o Newlines
Para mejorar la presentación de los strings, se pueden incluir tabs (tabulaciones) (\t
) o newlines (saltos de línea) (\n
). El símbolo (\) hace que la t y la n tengan un comportamiento especial y no se impriman sus respectivas letras:
############# Uso de tabs o newlines ###############
cadena_con_tabs = "Texto\tcon\ttabs"
cadena_con_newlines = "Línea 1\nLínea 2\nLínea 3"
print(cadena_con_tabs)
print(cadena_con_newlines)
Esto es útil al imprimir en consola o formatear documentos.
5. Uso de strip(), lstrip() y rstrip() para remover espacios en cadenas de texto
El método strip()
elimina los espacios en blanco al inicio y final de un string. El método lstrip() elimina los espacios a la izquierda del string mientras que el método rstrip() los elimina a la derecha:
############### Remover espacios con strip ###########
cadena_con_espacios = " ¡Espacios indeseados! "
cadena_con_espacio_izquierda = " Tenía espacio a la izquierda"
cadena_con_espacio_derecha = "Tenía espacio a la derecha "
cadena_limpia = cadena_con_espacios.strip()
cadena_limpia_izquierda = cadena_con_espacio_izquierda.lstrip()
cadena_limpia_derecha = cadena_con_espacio_derecha.rstrip()
print(cadena_limpia)
print(cadena_limpia_izquierda)
print(cadena_limpia_derecha)
Esto es crucial al procesar entradas de usuarios o archivos donde se pueden introducir espacios adicionales accidentalmente.
Secuencias de escape
Las secuencias de escape en Python son combinaciones específicas de caracteres precedidas por una barra invertida (\) que tienen un significado especial en las cadenas de texto. Aquí hay algunas secuencias de escape comunes en Python:
\n
: Representa un salto de línea.
print("Hola\nMundo")
Salida:
Hola
Mundo
\t
: Indica un tabulador.
print("Nombre:\tJuan")
Salida:
Nombre: Juan
\"
y \'
: Permite incluir comillas dentro de una cadena.
print("Texto entre comillas: \"Hola\"")
Salida:
Texto entre comillas: "Hola"
Slices en Python
En Python, los slices son una forma de acceder a partes específicas de una secuencia, como listas, tuplas o cadenas de texto. Se definen utilizando la notación [start:stop:step]
, donde start
es el índice de inicio, stop
es el índice de parada (no inclusivo), y step
es el tamaño del paso entre los elementos.
# Definir una cadena
mi_cadena = "Python"
# Obtener una porción de la cadena
sub_cadena = mi_cadena[1:4] # Devuelve "yth"
# Invertir una cadena
cadena_invertida = mi_cadena[::-1] # Devuelve "nohtyP"
Esto es posible ya que cada carácter en un string tiene una posición, conocida como índice que empieza en 0 y avanza 1 por cada carácter.
En Python, puedes obtener la posición de un carácter en un string utilizando varios métodos. Uno de ellos es el método find()
. Aquí hay un ejemplo de cómo puedes obtener la posición de un carácter específico en un string:
# Definir una cadena
mi_cadena = "Python"
# Obtener la posición de un carácter específico, por ejemplo, 'h'
posicion = mi_cadena.find('h')
# Imprimir la posición
print(f"La posición de 'h' en la cadena es: {posicion}")
En este ejemplo, find('h')
devuelve la posición de la primera ocurrencia del carácter ‘h’ en la cadena mi_cadena
. La indexación en Python comienza desde cero, por lo que el resultado sería 3, ya que ‘h’ está en la cuarta posición.
Como puedes ver, Python cuenta con varios métodos para la manipulación de texto. Los que vimos en esta lección no son todos los que puedes encontrar en el lenguaje. Si tienes curiosidad sobre qué otros métodos puedes encontrar para strings será buena idea que vayas directo a la documentación de Python. La manipulación de strings en Python es versátil y eficiente, nos ofrece métodos para transformar capitalización, insertar variables, formatear con f-strings y mejorar la presentación con tabs, newlines y strip, entre otros.