Skip to main content

Formateo de hileras

Formateo %s, %d y %f

En Python, los símbolos %s, %d y %f son utilizados en cadenas de formato para representar valores de diferentes tipos en una cadena de texto. Estos son conocidos como especificadores de formato y se utilizan junto con el operador de formato % para insertar valores en una cadena. A continuación, se explica cada uno de ellos:

  1. %s (cadena de texto):

    • Este especificador de formato se utiliza para insertar una cadena de texto en una cadena de formato.

    • Ejemplo:

      nombre = "Juan"
      mensaje = "Hola, %s. ¿Cómo estás?" % nombre
      print(mensaje)

      Output:

      Hola, Juan. ¿Cómo estás?
  2. %d (entero):

    • Este especificador de formato se utiliza para insertar un valor entero en una cadena de formato.

    • Ejemplo:

      edad = 25
      mensaje = "Tienes %d años." % edad
      print(mensaje)

      Output:

      Tienes 25 años.
  3. %f (número de punto flotante):

    • Este especificador de formato se utiliza para insertar un valor de punto flotante (número decimal) en una cadena de formato.

    • Puedes especificar la precisión del número de punto flotante utilizando %0.nf, donde n es el número de decimales deseado.

    • Ejemplo:

      promedio = 87.654321
      mensaje = "Tu promedio es: %0.2f" % promedio
      print(mensaje)

      Output:

      Tu promedio es: 87.65

Formateo con %(variable)s, %(variable)d, o %(variable)f

Cuando ves el formato %(variable)s, %(variable)d, o %(variable)f en Python, estás trabajando con la función str llamada "interpolación de cadenas" o "formateo de cadenas con diccionarios". Este método permite la sustitución de valores de variables en una cadena utilizando un diccionario de valores. A continuación, explico cada uno de estos formatos:

  1. %(variable)s:

    • Este formato se utiliza para insertar una cadena de texto (str) en una cadena de formato.

    • La variable dentro de %() se refiere al nombre de la clave en el diccionario que contiene el valor que se va a insertar.

    • Ejemplo:

      datos = {"nombre": "Ana"}
      mensaje = "Hola, %(nombre)s. ¿Cómo estás?" % datos
      print(mensaje)

      Output:

      Hola, Ana. ¿Cómo estás?
  2. %(variable)d:

    • Este formato se utiliza para insertar un valor entero (int) en una cadena de formato.

    • La variable dentro de %() se refiere al nombre de la clave en el diccionario que contiene el valor que se va a insertar.

    • Ejemplo:

      datos = {"edad": 28}
      mensaje = "Tienes %(edad)d años." % datos
      print(mensaje)

      Output:

      Tienes 28 años.
  3. %(variable)f:

    • Este formato se utiliza para insertar un valor de punto flotante (float) en una cadena de formato.

    • La variable dentro de %() se refiere al nombre de la clave en el diccionario que contiene el valor que se va a insertar.

    • Puedes especificar la precisión del número de punto flotante utilizando %(variable).nf, donde n es el número de decimales deseado.

    • Ejemplo:

      datos = {"promedio": 92.567}
      mensaje = "Tu promedio es: %(promedio)0.2f" % datos
      print(mensaje)

      Output:

      Tu promedio es: 92.57

Es importante tener un diccionario con las claves correspondientes al formato utilizado. Esta forma de formateo de cadenas es menos común en comparación con las f-strings y el método str.format(), pero aún se encuentra en uso en algunos contextos, especialmente cuando se trabaja con código más antiguo o en situaciones específicas.

f-strings

Las f-strings, o "formatted string literals", son una característica introducida en Python 3.6 que proporciona una forma concisa y legible de formatear cadenas de texto. Permiten incorporar expresiones directamente en las cadenas de texto, haciendo que el código sea más claro y menos propenso a errores. Para crear una f-string, simplemente coloca una 'f' o 'F' antes de las comillas que delimitan la cadena y utiliza llaves {} para insertar expresiones.

Aquí hay un resumen de las características y uso de las f-strings:

  1. Sintaxis básica:

    • Para crear una f-string, coloca una 'f' o 'F' antes de las comillas que delimitan la cadena de texto.

    • Dentro de la cadena, puedes insertar expresiones utilizando llaves {}.

    • Ejemplo:

      nombre = "Carlos"
      edad = 25
      altura = 1.75

      mensaje = f"Hola, soy {nombre}, tengo {edad} años y mido {altura} metros."
      print(mensaje)

      Output:

      Hola, soy Carlos, tengo 25 años y mido 1.75 metros.
  2. Expresiones dentro de llaves:

    • Puedes incluir cualquier expresión válida de Python dentro de las llaves.

    • Ejemplo:

      numero = 10

      resultado = f"El doble de {numero} es {numero * 2}."
      print(resultado)

      Output:

      El doble de 10 es 20.
  3. Formato avanzado:

    • Puedes aplicar formato a las expresiones dentro de las llaves utilizando las mismas especificaciones que en el método str.format().

    • Ejemplo:

      precio = 29.95

      mensaje = f"El precio es: ${precio:0.2f}"
      print(mensaje)

      Output:

      El precio es: $29.95
  4. Operaciones y llamadas a funciones:

    • Puedes realizar operaciones y llamadas a funciones dentro de las llaves.

    • Ejemplo:

      cantidad = 5

      mensaje = f"El cuadrado de {cantidad} es {cantidad**2}."
      print(mensaje)

      Output:

      El cuadrado de 5 es 25.

Las f-strings son una forma poderosa y eficiente de formatear cadenas en Python, y se han vuelto la elección preferida en comparación con los métodos más antiguos como el operador % y el método str.format(). Proporcionan una sintaxis más legible y expresiva para trabajar con cadenas formateadas.

format

La función format() en Python es un método incorporado que se utiliza para formatear cadenas de texto. Proporciona una forma más flexible y poderosa de combinar valores en una cadena que el antiguo método de formateo utilizando el operador %. La función format() permite una mayor personalización y es especialmente útil cuando se trabaja con múltiples valores o se requiere un formato más complejo.

A continuación, se explica el uso básico y algunas características clave de la función format():

  1. Sintaxis básica:

    • La función format() se llama en una cadena y toma uno o más argumentos que se insertan en la cadena en lugares designados mediante llaves {}.

    • Ejemplo:

      nombre = "María"
      edad = 30

      mensaje = "Hola, soy {} y tengo {} años.".format(nombre, edad)
      print(mensaje)

      Output:

      Hola, soy María y tengo 30 años.
  2. Índices y nombres de posición:

    • Puedes especificar los índices o nombres de posición de los argumentos a través de números o nombres dentro de las llaves.

    • Ejemplo:

      mensaje = "Hola, soy {0} y tengo {1} años. ¿Te acuerdas de mí, {0}?"
      print(mensaje.format("Juan", 25))

      Output:

      Hola, soy Juan y tengo 25 años. ¿Te acuerdas de mí, Juan?
  3. Formato avanzado:

    • Puedes aplicar formato a los valores dentro de las llaves utilizando especificadores de formato similares a los utilizados con el operador %.

    • Ejemplo:

      promedio = 92.5678
      mensaje = "Tu promedio es: {:.2f}".format(promedio)
      print(mensaje)

      Output:

      Tu promedio es: 92.57
  4. Palabras clave:

    • Puedes utilizar palabras clave dentro de las llaves y proporcionar los valores correspondientes mediante argumentos con nombres.

    • Ejemplo:

      mensaje = "Hola, soy {nombre} y tengo {edad} años.".format(nombre="Ana", edad=28)
      print(mensaje)

      Output:

      Hola, soy Ana y tengo 28 años.

La función format() es más versátil y legible que el antiguo método de formateo con %, y proporciona una base sólida para trabajar con cadenas formateadas en Python. Aunque las f-strings (introducidas en Python 3.6) se han vuelto más populares debido a su sintaxis más concisa y legible, format() sigue siendo útil en situaciones donde se necesita un mayor nivel de control o compatibilidad con versiones de Python anteriores.