Entrada

Python - Formatear cadenas


Python - Formatear cadenas

En Python, formatear cadenas significa insertar valores dentro de un texto de forma clara y ordenada. Es algo esencial para imprimir mensajes, mostrar datos y crear salidas más legibles.

La forma más moderna y clara es usar f-strings, pero es útil conocer las otras opciones para entender código existente.

A continuación te muestro las formas principales de formatear cadenas, desde la más moderna a la más clásica.

Puedes ir probando código en la plataforma de https://onecompiler.com/python

1. f-strings (la forma más usada y recomendada)

Disponibles desde Python 3.6.

1
2
3
4
nombre = "Marco"
edad = 25

print(f"Hola, me llamo {nombre} y tengo {edad} años.")

Ventajas:

  • Legibles
  • Rápidas
  • Permiten expresiones dentro
1
print(f"El doble de 10 es {10 * 2}")

2. str.format() (la forma clásica moderna)

1
2
3
4
nombre = "Marco"
edad = 25

print("Hola, me llamo {} y tengo {} años.".format(nombre, edad))

Con nombres:

1
print("Hola, me llamo {n} y tengo {e} años.".format(n=nombre, e=edad))

3. Concatenación con + (no recomendada, pero útil conocerla)

1
2
3
4
nombre = "Marco"
edad = 25

print("Hola, me llamo " + nombre + " y tengo " + str(edad) + " años.")

Problema:

  • Nada práctica si hay muchos valores.
  • Debes convertir números a texto.

4. Cadenas con % (estilo antiguo)

1
2
3
4
nombre = "Marco"
edad = 25

print("Hola, me llamo %s y tengo %d años." % (nombre, edad))
  • %s → string
  • %d → entero
  • %f → decimal

Hoy se usa muy poco, pero aparece en código viejo.

Comparación rápida

MétodoFácilModernoRecomendado
f-strings⭐⭐⭐⭐⭐✔️ Mejor opción
format()⭐⭐⭐⭐Aún válido
Concatenación⭐⭐❌ Evitar
%⭐⭐No❌ Muy antiguo

Ejemplos útiles

Formatear números

1
2
3
pi = 3.141592

print(f"Pi redondeado: {pi:.2f}")   # 3.14

Alinear texto

1
2
print(f"{'Python':>10}")  # alineado a la derecha
print(f"{'Python':<10}")  # alineado a la izquierda

Usar expresiones dentro

1
2
3
4
precio = 1990
iva = 0.19

print(f"Precio final: {precio * (1 + iva)}")
Esta entrada está licenciada bajo CC BY 4.0 por el autor.