El método format() en Python es una función integrada que se utiliza para formatear cadenas de texto. Proporciona una forma más flexible y poderosa de crear cadenas combinando texto con valores de variables, números, o cualquier otro tipo de dato. Permite incluir marcadores de posición dentro de una cadena que luego serán reemplazados por los valores proporcionados.
- El método format() en Python formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
- El marcador de posición se define mediante corchetes: {}. Lea más sobre los marcadores de posición en la sección Marcador de posición a continuación.
- El método format() devuelve la cadena formateada.
Sintaxis del Método format() en Python
La sintaxis general del método format() es la siguiente:
cadena_formateada = cadena_original.format(valor1, valor2, ...)
Donde:
- cadena_formateada es la cadena resultante después de aplicar el formato.
- cadena_original es la cadena en la que se colocan los marcadores de posición (llamados campos de formato).
- valor1, valor2, etc., son los valores que se insertarán en los campos de formato de la cadena original.
Los campos de formato dentro de la cadena original se representan utilizando llaves {} como marcadores de posición. Los valores proporcionados en la función format() reemplazarán esos marcadores de posición en el orden en que aparecen.
Ejemplo de Sintaxis del Método format() en Python
Inserte el precio dentro del marcador de posición, el precio debe estar en punto fijo, formato de dos decimales:
estás utilizando el método format() para insertar el precio dentro del marcador de posición {precio:.2f} en la cadena txt. El precio se mostrará en formato de punto fijo con dos decimales. Aquí está el código con una breve explicación:
txt = "Por solo {precio:.2f} euros!" print(txt.format(price = 29))
- El resultado de este código será: Por solo 29.00 euros!
Índices de posición en format()
Puedes usar índices de posición para especificar qué valor se debe llenar en cada marcador de posición. Esto es útil cuando tienes varios marcadores y deseas controlar el orden.
mensaje = "Hola, mi nombre es {0} y tengo {1} años. También me llaman {0}.".format(nombre, edad) print(mensaje)
En este caso, {0} se llena con nombre, {1} con edad, y {0} nuevamente con nombre. La salida será la misma que antes.
Nombres de argumentos en format()
También puedes usar nombres de argumentos para identificar los marcadores de posición. Esto hace que el código sea más legible, especialmente si tienes muchas variables.
mensaje = "Hola, mi nombre es {nombre} y tengo {edad} años.".format(nombre="Bob", edad=25) print(mensaje)
Aquí, {nombre} se llena con «Bob» y {edad} con 25.
Formateo avanzado
Puedes especificar cómo deseas que los valores se formateen dentro de los marcadores de posición. Por ejemplo, puedes controlar la cantidad de decimales en un número flotante o el ancho de un número entero.
precio = 25.50 cantidad = 3 total = precio * cantidad factura = "Precio: ${:.2f}, Cantidad: {}, Total: ${:.2f}".format(precio, cantidad, total) print(factura)
En este ejemplo, :.2f indica que se deben mostrar dos decimales en el precio y el total. La salida será:
Precio: $25.50, Cantidad: 3, Total: $76.50
F-strings (cadenas f)
Desde Python 3.6 en adelante, puedes usar f-strings para formatear cadenas de manera más sencilla y legible. Las f-strings incorporan expresiones dentro de las llaves {} y evalúan esas expresiones en tiempo de ejecución.
nombre = "Charlie" edad = 28 mensaje = f"Hola, mi nombre es {nombre} y tengo {edad} años." print(mensaje)
Las f-strings son muy útiles y se han vuelto populares por su claridad y concisión.
Marcadores de posición
Los marcadores de posición se pueden identificar mediante índices con nombre {price}, índices numerados {0} o incluso marcadores de posición vacíos {}.
txt1 = "Me llamo {fname}, tengo {age}".format(fname = "Pepe", age = 38) txt2 = "Me llamo {0}, tengo {1}.format("Pepe",38) txt3 = "Me llamo {}, tengo {}".format("Pepe",38)
En todos los casos, el método format() reemplaza los marcadores de posición con los valores proporcionados y crea una cadena formateada con la información suministrada.
Tipos de formato
Dentro de los marcadores de posición, puede agregar un tipo de formato para formatear el resultado:
:< | Alinea a la izquierda el resultado (dentro del espacio disponible) |
:> | Alinea a la derecha el resultado (dentro del espacio disponible) |
:^ | Centro alinea el resultado (dentro del espacio disponible) |
:= | Coloca el letrero en la posición más a la izquierda |
:+ | Use un signo más para indicar si el resultado es positivo o negativo |
:- | Use un signo menos solo para valores negativos |
: | Use un espacio para insertar un espacio adicional antes de los números positivos (y un signo menos antes de los números negativos) |
:, | Usar una coma como separador de mil |
:_ | Usar un guión bajo como separador de mil |
:b | formato binario |
:c | Convierte el valor en el carácter Unicode correspondiente |
:d | formato decimal |
:e | Formato científico, con e minúscula |
:E | Formato científico, con E mayúscula |
:f | Formato de número de punto fijo |
:F | Formato de número de punto fijo, en formato de mayúsculas (muestra inf y nan como INF y NAN ) |
:g | formato general |
:G | Formato general (usando una E mayúscula para notaciones científicas) |
:o | formato octal |
:x | Formato hexadecimal, minúsculas |
:X | Formato hexadecimal, mayúsculas |
:n | Formato numérico |
:% | formato de porcentaje |
Valores de parámetros del Método format() en Python
Parameter | Description |
---|---|
valor1, valor2… | Requerido. Uno o más valores que deben formatearse e insertarse en la cadena. Los valores son una lista de valores separados por comas, una lista clave=valor o una combinación de ambos. Los valores pueden ser de cualquier tipo de datos. |
El método format() es una herramienta versátil para crear cadenas de texto dinámicas y bien formateadas en Python. Puedes personalizar cómo se insertan los valores y controlar la precisión de los números, lo que lo hace muy útil en aplicaciones donde se generan mensajes o informes.
- Tutorial de Cadenas en Python