Los textos (strings) están en todas partes: nombres de usuarios, mensajes, correos, URLs. Python viene con docenas de métodos para trabajar con ellos de forma eficiente.
Crear un string
saludo = "Hola, mundo"
nombre = 'Ana'
multilinea = """Este es un
texto en varias líneas"""
len(): largo del string
texto = "Python"
print(len(texto)) # 6
upper() y lower(): mayúsculas y minúsculas
nombre = "ana garcía"
print(nombre.upper()) # ANA GARCÍA
print("HOLA".lower()) # hola
Útil para comparar textos sin importar el caso.
strip(): eliminar espacios
entrada = " [email protected] "
print(entrada.strip()) # '[email protected]'
print(entrada.lstrip()) # '[email protected] ' (solo izquierda)
print(entrada.rstrip()) # ' [email protected]' (solo derecha)
split(): convertir a lista
lista_csv = "manzana,pera,uva,naranja"
frutas = lista_csv.split(",")
print(frutas) # ['manzana', 'pera', 'uva', 'naranja']
frase = "Hola mundo Python"
palabras = frase.split() # divide por espacios
print(palabras) # ['Hola', 'mundo', 'Python']
join(): convertir lista a string
Lo opuesto de split():
frutas = ["manzana", "pera", "uva"]
resultado = ", ".join(frutas)
print(resultado) # manzana, pera, uva
replace(): reemplazar texto
frase = "El gato come pescado"
nueva = frase.replace("gato", "perro")
print(nueva) # El perro come pescado
in: verificar si contiene algo
correo = "[email protected]"
print("@gmail" in correo) # True
print("@hotmail" in correo) # False
Slicing: extraer partes
texto = "Python"
print(texto[0:3]) # Pyt
print(texto[3:]) # hon
print(texto[::-1]) # nohtyP (invertido)
Ejemplo completo: validar un correo básico
def es_correo_valido(correo):
correo = correo.strip().lower()
return "@" in correo and "." in correo.split("@")[-1]
print(es_correo_valido("[email protected]")) # True
print(es_correo_valido("no-es-un-correo")) # False
Errores frecuentes
Los strings son inmutables: Los métodos no modifican el string original — devuelven uno nuevo. Debes guardar el resultado: nombre = nombre.upper().
Índices empiezan en 0: El primer carácter es texto[0], no texto[1].
Confundir split() sin argumento: texto.split() divide por cualquier espacio en blanco (incluye tabs y saltos de línea). texto.split(" ") divide solo por espacio simple.
Aprende haciendo, no solo leyendo
Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de Python y recibes corrección inmediata de IA.
Comenzar gratis →