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 = "Luis"
edad = 30
mensaje = "Hola, mi nombre es {} y tengo {} años.".format(nombre, edad)
print(mensaje) # Salida: "Hola, mi nombre es Luis 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 Luis 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)
: DevuelveTrue
si la cadena empieza con el prefijo dado.endswith(suffix)
: DevuelveTrue
si la cadena termina con el sufijo dado.isalpha()
: DevuelveTrue
si todos los caracteres de la cadena son letras.isdigit()
: DevuelveTrue
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?"