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:
-
%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?
-
-
%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.
-
-
%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
, donden
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:
-
%(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?
-
-
%(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.
-
-
%(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
, donden
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:
-
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.
-
-
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.
-
-
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
-
-
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()
:
-
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.
-
-
Í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?
-
-
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
-
-
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.