Formatação de Strings em Python

Para garantir que a string seja exibida conforme esperado, podemos usar format() O método format() formata o resultado.

Método format() da string

format() Os métodos permitem que você formate partes selecionadas da string.

Às vezes, uma parte do texto não pode ser controlada, talvez elas venham de um banco de dados ou entrada do usuário?

Para controlar esses valores, adicione placeholders (colchetes) no texto: {}),e então execute os valores com o método format():

Exemplo

Adicione o placeholder para o preço que deseja exibir:

price = 52
txt = "O preço é {} dólares"
print(txt.format(preço))

Executar exemplo

Você pode adicionar parâmetros dentro dos colchetes para especificar como transformar os valores:

Exemplo

Formate o preço para um número com duas casas decimais:

txt = "O preço é {:.2f} dólares"

Executar exemplo

Veja todos os tipos de formatação no manual do método format() da string.

Múltiplos valores

Se precisar de mais valores, basta adicionar mais valores ao método format():

print(txt.format(preço, itemno, quantidade))

E adicione mais placeholders:

Exemplo

quantity = 3
itemno = 567
price = 52
myorder = "Quero {} peças do item {} por {:.2f} dólares."
print(myorder.format(quantity, itemno, price))

Executar exemplo

Número de índice

Você pode usar o número de índice (chaves {0} para garantir que o valor esteja no marcador correto:

Exemplo

quantity = 3
itemno = 567
price = 52
myorder = "Quero {0} unidades do item número {1} por {2:.2f} dólares."
print(myorder.format(quantity, itemno, price))

Executar exemplo

Além disso, se precisar usar o mesmo valor várias vezes, use o número de índice:

Exemplo

age = 63
name = "Bill"
txt = "Seu nome é {1}. {1} tem {0} anos."
print(txt.format(age, name))

Executar exemplo

Índice nomeado

Você também pode usar o número dentro dos chaves {carname} Insira um nome para usar o índice nomeado, mas ao passar valores de parâmetro txt.format(carname = "Ford") deve usar o nome:

Exemplo

myorder = "Eu tenho um {carname}, é um {model}."
print(myorder.format(carname = "Porsche", model = "911"))

Executar exemplo