PythonAprende PythonDocumentación

Strings y f-strings

Indexa, corta y transforma texto; formatea con f-strings.

Un string (str) es una secuencia de caracteres. En Python se escribe entre comillas simples o dobles — las dos son equivalentes:

saludo = "hola"
despedida = 'chao'
cita = "Ella dijo 'hola'"   # comillas simples dentro de dobles

Indexación: cada carácter tiene posición

Los índices empiezan en 0:

palabra = "python"
#           012345  ← posición de cada letra

print(palabra[0])    # p
print(palabra[5])    # n
print(palabra[-1])   # n  → los negativos cuentan desde el final
print(palabra[-2])   # o

Si te pasas del rango, obtienes un error:

palabra[99]   # IndexError: fuera de rango

Slicing: cortar pedazos

La sintaxis [inicio:fin] extrae un rango — el fin no se incluye:

palabra = "programacion"

print(palabra[0:6])    # progra → posiciones 0 a 5
print(palabra[:6])     # progra → si omites el inicio, arranca en 0
print(palabra[6:])     # acion  → hasta el final
print(palabra[-4:])    # cion   → últimos 4 caracteres

Métodos de strings

Los strings vienen con utilidades incorporadas:

texto = "hola mundo"

print(texto.upper())       # HOLA MUNDO
print(texto.lower())       # hola mundo
print(texto.capitalize())  # Hola mundo
print(texto.replace("mundo", "python"))  # hola python
print(texto.split(" "))    # ['hola', 'mundo'] → una lista
print(len(texto))          # 10 → longitud (función, no método)

Ojo: los strings son inmutables. Los métodos no modifican el original, devuelven uno nuevo:

texto = "hola"
texto.upper()      # Esto NO cambia texto
print(texto)       # hola
texto = texto.upper()  # Así sí: reasignas el resultado
print(texto)       # HOLA

f-strings: el formato moderno

Pon una f antes de las comillas y podrás insertar expresiones entre llaves:

nombre = "Ana"
edad = 25

print(f"Me llamo {nombre} y tengo {edad} años")
# Me llamo Ana y tengo 25 años

print(f"En 5 años tendré {edad + 5}")
# En 5 años tendré 30

pi = 3.14159265
print(f"Pi con 2 decimales: {pi:.2f}")
# Pi con 2 decimales: 3.14

Las f-strings son la forma recomendada de formatear texto en Python moderno. Olvídate de concatenar con + por todas partes.

Errores comunes

"2" + 2          # TypeError: no puedes sumar str + int
int("hola")      # ValueError: "hola" no es un número
"Hola"[5]        # IndexError: fuera de rango

Resumen

  • Los índices empiezan en 0; los negativos cuentan desde el final
  • [inicio:fin] corta sin incluir el fin
  • Los strings son inmutables: los métodos devuelven strings nuevos
  • Las f-strings (f"...{variable}...") son la forma moderna de formatear
  • len() mide la longitud de cualquier string

Quiz

  1. 1. ¿Qué devuelve "python"[0]?

  2. 2. ¿Qué imprime print(f"2 + 2 = {2 + 2}")?

  3. 3. ¿Qué devuelve "hola"[-1]?

Ejercicios

Ejercicio 1: Transforma el texto

Dada `palabra = "python"`, imprime en mayúsculas y, en la misma línea, su longitud separados por espacio. Resultado esperado: PYTHON 6

Cargando editor…

Ejercicio 2: Slicing

Con `palabra = "programacion"`, guarda en `primera` los primeros 6 caracteres usando slicing (`palabra[:6]`) y en `ultima` el último carácter.

Cargando editor…