Curso de Python / Trabajar con cadenas, índices, cortes y formato

Una cadena es una secuencia de texto que permite acceder a posiciones y extraer fragmentos mediante índices y cortes. Las cadenas son inmutables: métodos como strip() y replace() devuelven un resultado que debes utilizar o guardar, sin modificar el texto original.

Identificar posiciones y límites de un corte

El índice cero corresponde al primer carácter y -1 al último. Un corte texto[inicio:fin] termina antes de fin. Consultar una posición individual inexistente produce un error, mientras que un corte devuelve la parte disponible de la secuencia.

text = "Python"
print(text[0], text[-1], text[1:4])

El resultado es P n yth. El fragmento empieza en la posición uno y no incluye la posición cuatro. Definir si el extremo final se incluye evita errores frecuentes al contar o recorrer una cadena.

La longitud de una cadena cuenta puntos de código Unicode, no bytes. Un carácter que percibes como una sola unidad, como ciertos emojis, puede contener varios puntos de código. La referencia de str explica las operaciones del tipo.

Limpiar y formatear una entrada completa

Guarda el siguiente contenido como strings.py, en UTF-8. Ejecútalo con python strings.py desde la carpeta de práctica y con el entorno del proyecto seleccionado. En macOS o Ubuntu, fuera del entorno, utiliza python3 si es el nombre de tu intérprete.

raw = "  lunch,8000  "
clean = raw.strip()
name, amount_text = clean.split(",")
amount = int(amount_text)
print(clean)
print(name.upper())
print(f"{name}: {amount:,} KRW")
print("-".join(["2026", "10", "17"]))

La salida esperada permite observar el texto limpio, la transformación a mayúsculas, el importe formateado y la unión de partes:

lunch,8000
LUNCH
lunch: 8,000 KRW
2026-10-17

raw conserva la cadena original con espacios. clean recibe una nueva cadena sin esos espacios exteriores. Después se separan nombre e importe y se convierte este último a entero antes de mostrarlo.

Elegir entre separar texto, analizar formatos y consultar datos

split() divide una cadena en partes y join() combina cadenas con un separador. Todos los elementos que recibe join() deben ser cadenas; convierte los números deliberadamente si quieres unirlos como texto.

Este ejemplo tiene un formato conocido y sencillo. split(",") no interpreta las comas entrecomilladas ni los campos CSV con varias líneas. Para esos archivos utiliza el módulo csv, como muestra la lectura y escritura de CSV.

Una f-string resulta cómoda para presentar resultados a una persona. No debe utilizarse para insertar entradas externas en una sentencia SQL. El formato de presentación y la vinculación de parámetros de una consulta resuelven problemas distintos; la conexión a MariaDB muestra cómo enviar valores mediante parámetros.

Conservar el original y comprobar entradas límite

Llamar a raw.strip() sin conservar su resultado deja raw sin cambios. Lo mismo ocurre con replace(). Si deseas sustituir el valor asociado a una variable, asigna el resultado explícitamente.

  1. Añade espacios alrededor de la entrada y comprueba que el contenido de clean sigue siendo el mismo.
  2. Quita la coma y observa que ya no pueden asignarse dos partes a las dos variables. Después restaura la entrada.
  3. Prueba a asignar un valor a text[0]: aparece TypeError porque no puedes modificar una posición de una cadena.

Limpiar una entrada conocida no demuestra que cualquier dato externo sea válido. Separa la normalización del texto de la comprobación del número de campos y del significado de cada valor.