Aspectos básicos de los strings

En Python, un string es una secuencia inmutable de caracteres. Aunque se comportan de manera similar a listas, ofrecen una variedad de métodos específicos para la manipulación de texto.

# puedes definir utilizando comillas simples o dobles
string_simple = 'Hola, mundo!'
string_doble = "Hola, mundo!"

Puedes utilizar la barra invertida ”\” para escapar caracteres especiales, como comillas:

con_comillas = 'Él dijo: "¡Hola, mundo!"'

Los strings pueden concatenarse usando el operador + y repetirse con el operador *:

saludo = "Hola" + " mundo!"  # "Hola mundo!"
repetir = "¡Hola!" * 3       # "¡Hola!¡Hola!¡Hola!"

Las cadenas soportan slicing para obtener subcadenas:

texto = "Python"
substr = texto[2:5]  # "tho"

Métodos Útiles

Los strings en Python son inmutables, lo que significa que los métodos que se aplican a ellos devuelven una nueva cadena en lugar de modificar la original. Algunos métodos comunes son:

  • .upper(): Convierte todos los caracteres en mayúsculas.
  • .lower(): Convierte todos los caracteres en minúsculas.
  • .strip(): Elimina los espacios en blanco al principio y al final.
  • .replace(old, new): Reemplaza una subcadena.
  • .find(sub): Encuentra la posición de una subcadena.
  • .split(sep): Divide la cadena en una lista usando un separador.
  • .join(iterable): Une los elementos de un iterable en una cadena.

Ejemplos de métodos

mi_string = "  Hola, mundo!  "
 
mi_string.upper()            # "  HOLA, MUNDO!  "
mi_string.lower()            # "  hola, mundo!  "
mi_string.strip()            # "Hola, mundo!"
mi_string.replace("o", "0")  # "  H0la, mund0!  "
mi_string.find("mundo")      # 8
mi_string.split(",")         # ["  Hola", " mundo!  "]
",".join(["a", "b"])         # "a,b"

F-Strings

Los f-strings ofrecen una forma elegante de incrustar expresiones dentro de strings. Se crean anteponiendo f al string y usando llaves {} para contener las expresiones. Una expresión puede ser una variable, pero también una expresión de python:

nombre = "Ana"
edad = 30
saludo = f"Hola, {nombre}. Tienes {edad} años."
# Resultado: "Hola, Ana. Tienes 30 años."

Formateo de números

Puedes controlar el formato de los números, como el número de decimales en un flotante:

pi = 3.14159265
texto = f"Valor de Pi: {pi:.2f}"  # "Valor de Pi: 3.14"

Expresiones complejas

Los f-strings también permiten incluir expresiones más complejas:

x = 10
y = 20
resultado = f"{x} + {y} = {x + y}"  # "10 + 20 = 30"

Alineación y relleno

Puedes especificar la alineación y el relleno dentro de un campo:

# Alineación a la derecha con relleno de ceros, con un ancho total de 5
numero = f"{42:0>5}"  # "00042"

Imprimir variables con su valor

Para depurar, puedes imprimir variables con su nombre y valor usando f-strings:

var1 = 1
var2 = 2
print(f"{var1=} {var2=}")
# Salida: var1=1 var2=2