Compra libros de Python en Amazon al mejor precio
Las cadenas (str) en Python son secuencias inmutables de caracteres Unicode. Son fundamentales para representar texto y se utilizan ampliamente en la programación. Vamos a explorar las operaciones, el formateo y los métodos que Python ofrece para trabajar con cadenas.
str
Operaciones con Cadenas:
Concatenación (+): Se utiliza el operador + para unir dos o más cadenas.
+
saludo = "Hola" nombre = "Mundo" saludo_completo = saludo + ", " + nombre + "!" print(saludo_completo) # Hola, Mundo!
Repetición (*): Se utiliza el operador * para repetir una cadena un cierto número de veces.
*
guiones = "-" * 10 print(guiones) # ---------- saludo_repetido = "Hola " * 3 print(saludo_repetido) # Hola Hola Hola
Indexación: Se puede acceder a caracteres individuales de una cadena utilizando su índice (que comienza en 0). También se pueden usar índices negativos para acceder desde el final de la cadena (-1 es el último carácter).
mi_cadena = "Python" primer_caracter = mi_cadena[0] # 'P' tercer_caracter = mi_cadena[2] # 't' ultimo_caracter = mi_cadena[-1] # 'n' penultimo_caracter = mi_cadena[-2] # 'o'
Slicing: Se puede extraer una subcadena (slice) de una cadena utilizando la notación de slicing [inicio:fin:paso].
[inicio:fin:paso]
mi_cadena = "Programacion" subcadena1 = mi_cadena[0:7] # 'Program' (desde el índice 0 hasta el 6) subcadena2 = mi_cadena[8:] # 'acion' (desde el índice 8 hasta el final) subcadena3 = mi_cadena[:4] # 'Prog' (desde el inicio hasta el índice 3) subcadena4 = mi_cadena[::2] # 'Poaaio' (cada segundo carácter) subcadena5 = mi_cadena[::-1] # 'noicamargorP' (cadena invertida)
Pertenencia (in, not in): Se utilizan para verificar si una subcadena está presente en una cadena.
in
not in
mi_cadena = "Python es genial" print("Python" in mi_cadena) # True print("Java" in mi_cadena) # False print("genial" not in mi_cadena) # False
Formateo de Cadenas:
Python ofrece varias formas de formatear cadenas para incluir variables y expresiones de manera legible:
Concatenación (como vimos antes): Puede ser menos legible para cadenas complejas.
Formateo con % (estilo antiguo): Utiliza operadores como %s (para cadenas), %d (para enteros), %f (para flotantes), etc.
%
%s
%d
%f
nombre = "Ana" edad = 25 mensaje = "Mi nombre es %s y tengo %d años." % (nombre, edad) print(mensaje) # Mi nombre es Ana y tengo 25 años. precio = 19.99 mensaje_precio = "El precio es %.2f euros." % precio print(mensaje_precio) # El precio es 19.99 euros.
Método .format() (estilo moderno): Utiliza llaves {} como marcadores de posición que se pueden reemplazar con valores.
.format()
{}
nombre = "Carlos" edad = 32 mensaje = "Mi nombre es {} y tengo {} años.".format(nombre, edad) print(mensaje) # Mi nombre es Carlos y tengo 32 años. # Se pueden usar índices para especificar el orden: mensaje_ordenado = "Tengo {1} años y mi nombre es {0}.".format(nombre, edad) print(mensaje_ordenado) # Tengo 32 años y mi nombre es Carlos. # Se pueden usar nombres de clave para mayor claridad: mensaje_clave = "Mi nombre es {nombre} y tengo {edad} años.".format(nombre=nombre, edad=edad) print(mensaje_clave) # Mi nombre es Carlos y tengo 32 años. precio = 29.50 mensaje_formato = "El precio es {:.2f} euros.".format(precio) print(mensaje_formato) # El precio es 29.50 euros.
f-strings (string literals formateados) (Python 3.6+): La forma más moderna y legible de formatear cadenas. Se prefija la cadena con f o F y se colocan las expresiones dentro de llaves {}.
f
F
nombre = "Elena" edad = 28 mensaje = f"Mi nombre es {nombre} y tengo {edad} años." print(mensaje) # Mi nombre es Elena y tengo 28 años. precio = 35.75 mensaje_formato = f"El precio es ${precio:.2f}." print(mensaje_formato) # El precio es $35.75. operacion = f"2 + 2 = {2 + 2}" print(operacion) # 2 + 2 = 4
Métodos de Cadenas:
Python ofrece una gran cantidad de métodos integrados para manipular y trabajar con cadenas. Aquí tienes algunos de los más comunes:
Case Conversion:
.lower()
.upper()
.capitalize()
.title()
.swapcase()
String Testing:
.isalpha()
True
.isdigit()
.isalnum()
.isspace()
.islower()
.isupper()
.startswith(prefijo)
prefijo
.endswith(sufijo)
sufijo
Finding and Replacing:
.find(subcadena, inicio, fin)
subcadena
.index(subcadena, inicio, fin)
.find()
ValueError
.replace(vieja, nueva, contador)
vieja
nueva
contador
Splitting and Joining:
.split(separador)
separador
.join(iterable)
Stripping Whitespace:
.strip()
.lstrip()
.rstrip()
Estos son solo algunos de los muchos métodos disponibles para trabajar con cadenas en Python. La documentación oficial de Python tiene una lista completa. Dominar las operaciones, el formateo y los métodos de cadenas es esencial para manipular texto de manera efectiva en tus programas Python