Lo que nadie te cuenta sobre el format() en Python

| Última modificación: 4 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Crear cadenas personalizadas en Python es un proceso que se compone de varias fases y puede traer diferentes situaciones, por ejemplo, puede que te hayas topado con el famoso format(), esta es una función que te ayuda a darle forma a tus cadenas. Pero no solo eso, y precisamente eso es lo que hoy te contaremos, todos los secretos de este método entre las funciones en python.

format() en Python

¿Qué es format()?

La función format() es un método de las cadenas de texto en Python que permite formatear valores y colocarlos dentro de una plantilla. Esto se logra mediante el uso de marcadores o placeholders, que se definen con llaves {}. Cada marcador se puede rellenar con valores numéricos, cadenas, variables e incluso resultados de cálculos.

Format() es una alternativa moderna y más flexible al viejo método de formateo con el operador %. No solo es más legible, sino que también admite más tipos de datos y opciones de personalización, como la alineación, el uso de separadores y la representación en diferentes bases numéricas.

La estructura general de format() es:

string.format(value1, value2, ...)

En donde:

  • string: es la cadena que contiene los marcadores {}.
  • value1, value2…: son los valores que se insertarán en los marcadores. Pueden ser valores directos, variables o expresiones.

Veamos un ejemplo:

mensaje = "Hola, {nombre}. Tienes {edad} años."
print(mensaje.format(nombre="Ana", edad=30))

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Salida:
Hola, Ana. Tienes 30 años.

En este ejemplo, los valores se asignan a los marcadores usando nombres clave.

Tipos de marcadores en format()

Existen diferentes formas de definir y trabajar con los marcadores en format():

  1. Índices numéricos:
    Los valores se asignan por su posición en el método format(): mensaje = “Hola, {0}. Eres el número {1}.” print(mensaje.format(“Luis”, 1))
  2. Nombres clave:
    Permiten asignar valores basados en claves específicas, lo que mejora la legibilidad: mensaje = “Hola, {nombre}. Tu saldo es {saldo}.” print(mensaje.format(nombre=”María”, saldo=150.75))
  3. Marcadores vacíos:
    Los valores se insertan en el orden en que se pasan a format(): mensaje = “Producto: {}, Precio: {}” print(mensaje.format(“Manzanas”, 2.5))

Opciones avanzadas en los placeholders

Alineación de texto y espacios

Puedes controlar la alineación dentro del marcador con estos símbolos:

  • <: Alineación a la izquierda.
  • >: Alineación a la derecha.
  • ^: Alineación centrada.
texto = "{:<10} {:^10} {:>10}".format("izq", "centro", "der")
print(texto)

Salida:
izq centro der

Separadores y formatos numéricos

Format() permite dar formato a números usando separadores de miles, notación científica, o ajustar el número de decimales.

  • Separador de miles: numero = “{:,}”.format(1234567) print(numero) Salida:
    1,234,567
  • Decimales ajustados: precio = “{:.2f}”.format(49.99) print(precio) Salida:
    49.99
  • Bases numéricas: print(“{:b}”.format(10)) # Binario print(“{:x}”.format(255)) # Hexadecimal

Errores que no debes comerter al usar format()

Aunque format() es flexible, es fácil cometer errores al usarla. Conócelos para que puedas evitarlos:

  1. Marcadores sin valor asignado: mensaje = “Hola, {}.” print(mensaje.format()) Esto generará un error porque falta un valor para el marcador.
  2. Desajuste entre marcadores y valores:
    Si tienes más o menos valores que marcadores, obtendrás un error o resultados inesperados.
  3. Formato no compatible:
    Asegúrate de usar el formato adecuado para el tipo de dato. Por ejemplo, intentar usar un formato numérico en una cadena generará un error.

Si quieres seguir aprendiendo, no dudes en unirte a la mejor comunidad de programadores en todo el mundo. Sí, te hablamos del bootcamp en programación desde cero de Keepcoding, en donde no solo tendrás acceso a la mejor formación, sino que aprenderás sobre diferentes temáticas en contexto y con ayuda de los mejores profesores. ¡No dudes en inscribirte y únete a nosotros!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.