tipo-string-en-python

El tipo String en Python

En Python, las cadenas (str) son secuencias inmutables de caracteres Unicode que se utilizan para para representar texto.

Las cadenas en Python se pueden declarar de varias formas, rodeándolas entre comillas simples ' o dobles ".

cadena_simple = 'Hola, mundo!'
cadena_doble = "¡Hola, mundo!"
cadena_triple = """Este es un ejemplo
de una cadena con múltiples líneas."""

Las cadenas en Python son inmutables (lo que significa que no se pueden modificar una vez creadas). Cualquier operación que parezca modificar una cadena en realidad crea una nueva cadena.

Internamente están representadas como secuencias de caracteres Unicode. Por lo que podemos usar sin problemas caracteres especiales o propios de ciertos idiomas.

Caracteres especiales

Las cadenas en Python admiten caracteres especiales para representar saltos de línea (\n), tabulaciones (\t), comillas dentro de cadenas (\", \'), entre otros.

cadena_con_salto = "Primera línea\nSegunda línea"
print(cadena_con_salto)
# Salida:
# Primera línea
# Segunda línea

Operaciones con cadenas

Python soporta varias operaciones y manipulaciones básicas con cadenas de texto:

Concatenación de Cadenas

La concatenación de cadenas se realiza utilizando el operador +:

cadena1 = "Hola"
cadena2 = " mundo"
cadena_concatenada = cadena1 + cadena2
print(cadena_concatenada)  # Salida: "Hola mundo"

Indexación y Segmentación

Es posible acceder a caracteres individuales de una cadena utilizando índices y segmentar (slicing) para obtener subcadenas:

mensaje = "Hola mundo"
primer_caracter = mensaje[0]
subcadena = mensaje[1:5]  # Desde el índice 1 hasta el 5 (no inclusivo)
print(primer_caracter)  # Salida: "H"
print(subcadena)  # Salida: "ola "

Métodos de Formateo

Python ofrece varios métodos para formatear cadenas, como format() y literales de cadena formateados (f-string):

nombre = "Juan"
edad = 30
mensaje = "Hola, mi nombre es {} y tengo {} años.".format(nombre, edad)
print(mensaje)  # Salida: "Hola, mi nombre es Juan y tengo 30 años."

# F-string (Python 3.6+)
mensaje_fstring = f"Hola, mi nombre es {nombre} y tengo {edad} años."
print(mensaje_fstring)  # Salida: "Hola, mi nombre es Juan y tengo 30 años."

Métodos útiles

Además de los métodos básicos de manipulación de cadenas, Python ofrece métodos especializados para verificar y transformar cadenas:

Métodos de verificación

  • startswith(prefix): Devuelve True si la cadena empieza con el prefijo dado.
  • endswith(suffix): Devuelve True si la cadena termina con el sufijo dado.
  • isalpha(): Devuelve True si todos los caracteres de la cadena son letras.
  • isdigit(): Devuelve True si todos los caracteres de la cadena son dígitos.
cadena = "Python es genial"
print(cadena.startswith("Py"))  # Salida: True
print(cadena.endswith("al"))  # Salida: True
print(cadena.isalpha())  # Salida: False (porque hay espacios y no solo letras)

Métodos de manipulación

Python proporciona numerosos métodos para manipular cadenas, como upper(), lower(), strip(), replace(), split(), entre otros:

texto = "   Hola, mundo!   "
texto_mayusculas = texto.upper()
texto_sin_espacios = texto.strip()
print(texto_mayusculas)  # Salida: "   HOLA, MUNDO!   "
print(texto_sin_espacios)  # Salida: "Hola, mundo!"

Métodos de transformación

  • split(separador): Divide la cadena en una lista de subcadenas separadas por el separador especificado.
  • join(iterable): Une los elementos de un iterable (como una lista) en una sola cadena utilizando la cadena como separador.
texto = "Hola, cómo estás?"
palabras = texto.split(", ")
print(palabras)  # Salida: ['Hola', 'cómo estás?']

lista = ['Hola', 'cómo', 'estás?']
texto_unido = ' '.join(lista)
print(texto_unido)  # Salida: "Hola cómo estás?"