Aprende todo sobre las cadenas en Python: Guía completa

| Última modificación: 12 de septiembre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Quienes trabajan con Python probablemente hayan tenido dudas sobre como manipular texto de forma rápida o cómo optimizar procesos que involucren grandes volúmenes de datos textuales. Si tú eres uno de ellos y aún no logras darle respuesta a estas preguntas, tenemos la solución para ti: las cadenas en Python son uno de los tipos de datos que sí o sí debes aprender si quieres un código eficiente y sencillo. En esta guía te diremos todo lo que necesitas saber sobre las cadenas en Python, sus trucos, funciones y secretos que te elevarán de nivel como desarrollador.

El uso de cadenas en Python

¿Qué son las cadenas en Python?

Para que entiendas bien, las cadenas en Python, o strings, son un tipo de dato inmutable, esto quiere decir que, cuando ya tengas creada la cadena no podrás modificarla directamente, lo único que podrás hacer es volver a crear nuevas cadenas que estén basadas en la original. Con estas cadenas puedes almacenar y manipular secuencias de caracteres, como palabras o frases.

Ten presente que, para declarar una cadena, lo único que debes hacer es rodear el texto con comillas dobles (") o comillas simples ('), como te muestro en estos ejemplos:

s = "Aprendiendo a hacer una cadena"
print(s) # Aprendiendo a hacer una cadena
print(type(s)) # <class 'str'>

s = 'Aprendiendo a hacer otra cadena'
print(s) # Aprendiendo a hacer otra cadena
print(type(s)) # <class 'str'>

Ambas formas son completamente válidas en Python, y no hay límites de tamaño para las cadenas, es decir, el único límite lo pone la memoria de tu ordenador. Incluso es posible declarar una cadena vacía si lo necesitas:

s = ''

Manejo adecuado de comillas dentro de cadenas en Python

Ten cuidado porque puede sucederte que incluyas las comillas, ya sean simples (') o dobles ("), dentro de una cadena. Entonces, al intentar hacerlo de esta manera, Python podría generar un error como el siguiente:

s = "observa las comillas dobles " de ejemplo"  # Error!

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Lo que debes hacer para solucionarlo es usar secuencias de escape, y la más importante en este caso es \” porque con ella incluyes comillas dobles dentro de una cadena sin generar errores:

s = "Observa esta comilla doble \" de ejemplo"
print(s) # Observa esta comilla doble " de ejemplo

Uso de saltos de línea y caracteres especiales

Otra cosa que también puedes hacer es insertar saltos de línea en una cadena. Solo tienes que usar la secuencia \n, ya que es la que te indica que lo que sigue se imprimirá en una nueva línea:

s = "Primera línea\nSegunda línea"
print(s)
# Primera línea
# Segunda línea

Además, si necesitas representar caracteres específicos, puedes usar secuencias especiales con números. Por ejemplo, \110 corresponde a la letra H:

print("\110\110")  # HH

Cadenas multilínea y raw strings

Ahora bien, puede que tengas que trabajar con cadenas largas o que ocupan varias líneas. La triple comilla ("""), te servirá para mantener tu código más legible:

s = """Esta cadena
ocupa varias
líneas"""
print(s)

Recuerda que con las raw strings puedes ignorar las secuencias de escape si necesitas que tu cadena se interprete tal cual la escribes. Solo coloca una r antes de la cadena:

print(r"\110\110")  # \110\110

¿Para qué sirven las cadenas en Python?

  1. Almacenamiento de texto: Las cadenas pueden contener palabras, oraciones o cualquier secuencia de caracteres, lo que las hace fundamentales para cualquier programa que maneje texto, como procesamiento de datos, análisis de texto, o simplemente para mostrar información al usuario.
  2. Concatenación: Puedes unir cadenas para formar textos más largos. Esto es útil para crear mensajes personalizados para los usuarios, combinar datos para formateo, entre otros.
  3. Interpolación: Python ofrece varias maneras de incorporar variables en cadenas, facilitando la creación de mensajes dinámicos. La forma más moderna y flexible es a través de las f-strings.
  4. Acceso y slicing: Puedes acceder a caracteres individuales de una cadena o a subcadenas utilizando índices y el slicing.
  5. Métodos útiles: Las cadenas en Python vienen con una variedad de métodos integrados que permiten realizar operaciones comunes de manera eficiente, como transformar mayúsculas y minúsculas, buscar subcadenas, reemplazar texto, dividir cadenas en listas, etc.
  6. Iteración: Las cadenas son iterables, lo que significa que puedes recorrer cada uno de sus caracteres utilizando un bucle. Te conviene a la hora de analizar o manipular texto letra por letra.
  7. Formato de texto: Python te ofrece capacidades avanzadas para dar formato a cadenas, lo que es crucial para crear salidas de texto legibles y bien organizadas, especialmente cuando se combinan datos numéricos y textuales.

¿Cómo hacer cadenas en Python?

Concatenación

Con la concatenación puedes unir dos o más cadenas mediante el operador +:

cadena1 = "¡Hola, "
cadena2 = "Python!"
saludo = cadena1 + cadena2
print(saludo)

Entonces, cuando imprimas este código aparecerá “¡Hola, Python!” al unir las dos cadenas.

Repetición

También puedes repetir una cadena multiplicándola por un número entero:

cadena = "Python"
repetida = cadena * 3
print(repetida)

Lo que verás es “PythonPythonPython”.

Acceso a caracteres

Con Python puedes acceder a caracteres individuales en una cadena mediante índices:

mensaje = "Python"
primer_caracter = mensaje[0]
print(primer_caracter)

En este caso, se imprimirá “P”, porque los índices en Python comienzan desde cero.

Funciones y métodos útiles para cadenas en Python

Longitud de la cadena

Lo que hace la función len() es devolver la longitud de una cadena:

mensaje = "Python"
longitud = len(mensaje)
print(longitud)

En este ejemplo, se imprimirá “6”, ya que la cadena “Python” tiene seis caracteres.

Conversión de mayúsculas y minúsculas

Al usar los métodos upper() y lower() puedes convertir una cadena a mayúsculas o minúsculas:

mensaje = "Python"
mayusculas = mensaje.upper()
minusculas = mensaje.lower()
print(mayusculas)
print(minusculas)

Verás que te aparece “PYTHON” y “python”, respectivamente.

Búsqueda de subcadenas

Si usas el método find() podrás buscar la posición de una subcadena dentro de otra:

mensaje = "Hola, Python"
posicion = mensaje.find("Python")
print(posicion)

En este caso, se imprimirá “7”, ya que “Python” comienza en la posición 7 de la cadena.

Reemplazo de subcadenas

El método replace() te permite reemplazar todas las ocurrencias de una subcadena por otra:

mensaje = "Hola, Java"
nuevo_mensaje = mensaje.replace("Java", "Python")
print(nuevo_mensaje)

Te aparecerá “Hola, Python”.

Formatear cadenas en Python

Lo grandioso de Python es que te permite formatear cadenas de una forma muy fácil. Simplemente usa el método format() o f-strings para lograrlo:

nombre = "Juan"
edad = 25
mensaje = "Hola, {}! Tienes {} años.".format(nombre, edad)
# O usando f-strings
mensaje_fstring = f"Hola, {nombre}! Tienes {edad} años."
print(mensaje)
print(mensaje_fstring)

Ambos imprimirán “Hola, Juan! Tienes 25 años.”

Ahora que ya tienes claro el uso de cadenas en Python, puedes seguir fortaleciendo estas y otras herramientas gracias al Bootcamp Aprende a Programar desde Cero Full Stack de KeepCoding. Encontrarás información clave sobre fundamentos de la programación en Python y JavaScript y otros recursos muy útiles para tu proceso. ¡Apúntate!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.