¿Cómo funciona el método Python String format ()? 10 ejemplos

Ya sea una consulta de base de datos o resultados de operaciones matemáticas, el método de formato de cadena de Python ofrece una forma más dinámica y atractiva de presentar resultados a un usuario.

Echemos un vistazo a cómo funciona la función str.format () en Python. También descubrirá cómo puede utilizar este formato en sus propios programas.

¿Cómo funciona el formato de cadena de Python ()?

La función Python str.format () le permite insertar sus resultados en cualquier lugar de una cadena.

Funciona asignando espacio para sus resultados dentro de la cadena usando llaves. Luego escribe su salida en esa posición usando el método format () .

Las cadenas fuera de la llave son lo que llamas textos literales.

Cómo utilizar el método Python String format ()

La función str.format () acepta un valor y un especificador de formato de cadena opcional.

Así es como se ve la sintaxis general:

 str.format(value, format_spec)

Ahora echemos un vistazo a ejemplos más prácticos de cómo usar este método de cadena de Python.

1. Inserte un valor en una posición específica

Aquí hay un ejemplo básico de cómo insertar un valor en una cadena usando el método str.format () :

 Cost = 45
formattedMethod = "This good costs {} dollars only"
print(formattedMethod.format(Cost))
Output: This good costs 45 dollars only

El código anterior es el mismo que:

 formattedMethod = "This good costs {} dollars only"
print(formattedMethod.format(45))
Output: This good costs 45 dollars only

2. Inserte varias salidas en una cadena

También puede insertar varios resultados en una cadena. Así es cómo:

 y = 7*8
f = 5+5
g = 0
a = "The value of y is {}, while f is {}. Nobody can see {}".format(y, f, g)
print(a)
Output: The value of y is 56, while f is 10. Nobody can see 0

3. Utilice llaves de escape para colocar salidas en llaves dedicadas

Si necesita colocar alguno de los resultados en un corchete, es fácil. Solo necesita introducir dos tirantes de escape adicionales.

Por ejemplo, digamos que quiere y en una llave especial:

 a = "The value of y is {{{}}}, while f is {}. Nobody can see {}".format(y, f, g)
print(a)
Output: The value of y is {56}, while f is 10. Nobody can see 0

4. Valores de salida de una lista

Puede seleccionar valores específicos de una lista e insertarlos en una cadena:

 myList = [10, 2, 4, 6]
print(("The first is {} and the third is {}").format(myList[0], myList[2]))
Output: The first is 10 and the third is 4

Para evitar la repetición dentro del paréntesis .format () , puede configurar el especificador de formato para que apunte a una sola variable.

He aquí cómo hacerlo:

 myList = [10, 2, 4, 6]
print(("The first is {yourList[0]} and the third is {yourList[2]}").format(yourList = myList))
Output: The first is 10 and the third is 4

La instancia anterior también se aplica a otros ejemplos que hemos tratado anteriormente. Entonces, puedes jugar con ellos usando este truco.

5. Insertar valores de un diccionario

De manera similar, como lo hizo en la sección anterior, puede usar el método str.format () para insertar un valor de diccionario en una cadena:

 myDiction = {"Ten":10, "Two":2, "Four":4, "Six":6}
print(("The first is {} and the third is {}").format(myDiction["Ten"], myDiction["Four"]))
Output: The first is 10 and the third is 4

Relacionado: Cómo convertir una lista en un diccionario en Python

Y si quieres usar el truco de la sección anterior:

 myDiction = {"Ten":10, "Two":2, "Four":4, "Six":6}
print(("The first is {Ten} and the third is {Four}").format(**myDiction))
Output: The first is 10 and the third is 4

También puede escribir el código anterior como:

 print(("The first is {d[Ten]} and the third is {d[Four]}").format(d=myDiction))
Output: The first is 10 and the third is 4

6. Inserte la salida de una función en una cadena

Si desea mostrar la salida de una función en una cadena:

 def difNums(a, b):
if a > b:
return a - b
else:
return return "You can't substract {} from {} using this function".format(a, b)
print(("Hey there: {}").format(difNums(2, 6)))
Output: Hey there: You can't substract 2 from 6 using this function

Uso de especificadores de formato de cadena de Python

El especificador de formato le permite elegir cómo se transmite su formato. Como se mencionó anteriormente, es un parámetro opcional que viene con str.format () .

Con esta opción, puede alinear su salida, reducir cadenas largas, agrupar salidas o redondear un número entero a un número específico de cifras significativas, e incluso más.

A menudo, escribirás los especificadores de formato dentro de las llaves. Pero también puede indicarlos explícitamente dentro del paréntesis .format () .

Sigamos adelante y veamos algunos de sus casos de uso.

7. Alinear salida de cadena

Puede usar el signo mayor ( > ) para alinear una salida de cadena a la derecha:

 print("Hello {:>15}".format(12734589))
Output: Hello 12734589

También puede alinear su texto con el centro si lo desea:

 print("Hello {:^15}".format(12734589))
Output: Hello 12734589

Formateemos más la salida anterior. Por ejemplo, puede incluir guiones bajos para ver el relleno a ambos lados de la salida de su cadena:

 print("Hello {:_^15}".format(12734589))
Output: Hello ___12734589____

Pero como se mencionó anteriormente, puede establecer el especificador de formato explícitamente como un parámetro dentro de str.format () .

Entonces, el código anterior se ve así en ese caso:

 print("Hello {:{g}}".format(12734589, g = "_^15"))
Output: Hello ___12734589____

Siéntase libre de reescribir los otros ejemplos usando la opción anterior.

8. Dar formato a las salidas a un número específico de cifras significativas

También es posible que desee devolver un número particular de cifras significativas para un cálculo utilizando el método .format () .

El código de ejemplo a continuación, por ejemplo, redondea el resultado de la operación matemática a un número decimal significativo:

 calcprofitPerc = ((45 - 20)/45)*100
formattedOutput = "Our profit on this is {profit: .1f}%"
print(formattedOutput.format(profit = calcprofitPerc))
Output: Our profit on this is 55.6%

9. Truncar cadenas largas

Aunque truncar un texto puede parecer poco práctico, no puede saber dónde podría necesitarlo.

Aquí se explica cómo cortar parte de la salida de su cadena usando la función str.format () :

 print(("Truncate this to the first 3 alphabets: {:.3}").format("idowuomisola"))
Output: Truncate this to the first 3 alphabets: ido

10. Grupo separado de números usando un criterio

Puede separar un grupo de números con un guión bajo o una coma:

 print("Separated by underscore: {:{g}}".format(12734589, g="_"))
print("Separated by comma: {:{g}}".format(12734589, g=","))
Output:
Separated by underscore: 12_734_589
Separated by comma: 12,734,589

Relacionado Cómo dividir una cadena en Python

Además, puede especificar el grupo de números que desea tratar usando su clave:

 print("First numbers by underscore: {0:{g}}".format(12734589, 123674, 662772, g="_"))
print("Third numbers by comma: {2:{g}}".format(12734589, 123674, 662772, g=","))
Output:
First numbers by underscore: 12_734_589
Third numbers by comma: 662,772

Presentar resultados bien con el método Python String format ()

Una de las formas en que puede hacer que su programa se destaque es cómo presenta los resultados y las consultas. Sin lugar a dudas, el método de formato de cadena de Python ofrece una forma más limpia de generar resultados. A diferencia del método de módulo anterior de las versiones anteriores de Python, el nuevo formato de cadena introducido en Python 3 es más legible y amigable para los humanos.