Formateo de cadenas de Python

Para asegurar que la cadena se muestre como se espera, podemos usar format() El método formatea el resultado.

format() de la cadena

format() Los métodos te permiten formatear partes seleccionadas de la cadena.

A veces, una parte del texto no puedes controlarla, tal vez vienen de una base de datos o entrada de usuario?

Para controlar este tipo de valores, agrega placeholders (corchetes) en el texto: {}),luego ejecuta los valores mediante el método format():

Ejemplo

Añade un placeholder para mostrar el precio:

price = 52
txt = "El precio es {} dólares"
print(txt.format(price))

Ejecutar ejemplo

Puedes agregar parámetros dentro de los corchetes para especificar cómo convertir los valores:

Ejemplo

Formatea el precio como un número con dos decimales:

txt = "El precio es {:.2f} dólares"

Ejecutar ejemplo

Ver todos los tipos de formato en la guía de format() de la cadena.

Valores múltiples

Si deseas usar más valores, simplemente agrega más valores al método format():

print(txt.format(price, itemno, count))

Y agrega más placeholders:

Ejemplo

quantity = 3
itemno = 567
price = 52
myorder = "Quiero {} piezas del número de artículo {} por {:.2f} dólares."
print(myorder.format(quantity, itemno, price))

Ejecutar ejemplo

Números de índice

Puede usar números de índice (corchetes {0} para asegurar que los valores se coloquen en los marcadores de posición correctos:

Ejemplo

quantity = 3
itemno = 567
price = 52
myorder = "Quiero {0} piezas del número de artículo {1} por {2:.2f} dólares."
print(myorder.format(quantity, itemno, price))

Ejecutar ejemplo

Además, si se debe referir varias veces al mismo valor, utilice el número de índice:

Ejemplo

age = 63
name = "Bill"
txt = "Su nombre es {1}. {1} tiene {0} años."
print(txt.format(age, name))

Ejecutar ejemplo

Índice nombrado

También puede usar números en los corchetes {carname} Ingrese un nombre para usar un índice nombrado, pero al pasar valores de parámetros txt.format(carname = "Ford") debe usar el nombre:

Ejemplo

myorder = "Tengo un {carname}, es un {model}."
print(myorder.format(carname = "Porsche", model = "911"))

Ejecutar ejemplo