Como funciona o método Python String format ()? 10 exemplos

Quer seja uma consulta de banco de dados ou resultados de operações matemáticas, o método de formato de string Python oferece uma maneira mais dinâmica e atraente de apresentar os resultados a um usuário.

Vamos dar uma olhada em como a função str.format () funciona em Python. Você também descobrirá como usar esse formato em seus próprios programas.

Como funciona o formato Python String ()?

A função str.format () do Python permite inserir seus resultados em qualquer lugar em uma string.

Ele funciona alocando espaço para seus resultados dentro da string usando chaves. Em seguida, ele grava sua saída nessa posição usando o método format () .

As cordas fora da chave são o que você chama de textos literais.

Como usar o método Python String format ()

A função str.format () aceita um valor e um especificador de formato de string opcional.

Esta é a aparência da sintaxe geral:

 str.format(value, format_spec)

Agora, vamos dar uma olhada em exemplos mais práticos de como usar esse método de string Python.

1. Insira um valor em uma posição específica

Aqui está um exemplo básico de como inserir um valor em uma string usando o método str.format () :

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

O código acima é igual a:

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

2. Insira várias saídas em uma string

Você também pode inserir vários resultados em uma string. Veja como:

 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. Use as chaves de escape para colocar as saídas em chaves dedicadas

Se você precisar colocar qualquer um dos resultados em uma chave, isso é fácil. Você só precisa introduzir duas chaves de escape adicionais.

Por exemplo, digamos que você queira y em uma chave dedicada:

 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 saída de uma lista

Você pode selecionar valores específicos de uma lista e inseri-los em uma string:

 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 a repetição dentro do parêntese .format () , você pode definir o especificador de formato para apontar para uma única variável.

Veja como fazer isso:

 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

A instância acima também se aplica a outros exemplos que tratamos anteriormente. Então, você pode brincar com eles usando este truque.

5. Insira valores de um dicionário

Da mesma forma, como você fez na seção anterior, você pode usar o método str.format () para inserir um valor de dicionário em uma string:

 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: Como converter uma lista em um dicionário em Python

E se você quiser usar o truque da seção 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

Você também pode escrever o código acima 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. Insira a saída de uma função em uma string

Se você quiser mostrar a saída de uma função em uma string:

 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

Usando especificadores de formato de string Python

O especificador de formato permite que você escolha como o seu formato é transmitido. Conforme mencionado anteriormente, é um parâmetro opcional que vem com str.format () .

Usando esta opção, você pode alinhar sua saída, cortar longas strings, agrupar saídas ou arredondar um número inteiro para um número específico de algarismos significativos e ainda mais.

Freqüentemente, você escreverá os especificadores de formato dentro das chaves. Mas você também pode declará- los explicitamente dentro do parêntese .format () .

Vamos ver alguns de seus casos de uso.

7. Alinhar a Saída da Coluna

Você pode usar o sinal maior ( > ) para alinhar a saída de uma string à direita:

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

Você também pode alinhar seu texto ao centro, se desejar:

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

Vamos formatar ainda mais a saída acima. Por exemplo, você pode incluir sublinhados para ver o preenchimento em ambos os lados da saída da string:

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

Mas, como mencionado anteriormente, você pode declarar o especificador de formato explicitamente como um parâmetro em str.format () .

Portanto, o código anterior se parece com este neste caso:

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

Sinta-se à vontade para reescrever os outros exemplos usando a opção acima.

8. Formate as saídas para um número específico de figuras significativas

Você também pode querer retornar um determinado número de algarismos significativos para um cálculo usando o método .format () .

O código de exemplo abaixo, por exemplo, arredonda o resultado da operação matemática para um 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 cordas longas

Embora truncar um texto possa parecer impraticável, você não sabe onde pode precisar dele.

Veja como cortar parte da saída da string usando a função 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 um critério

Você pode separar um grupo de números usando um sublinhado ou uma vírgula:

 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: Como dividir uma string em Python

Além disso, você pode especificar o grupo de números que deseja tratar usando sua chave:

 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

Apresente bem as saídas com o método Python String format ()

Uma das maneiras de fazer seu programa se destacar é como você apresenta resultados e consultas. Sem dúvida, o método de formato de string Python oferece uma maneira mais limpa de gerar resultados. Ao contrário do método de módulo anterior das versões antigas do Python, o novo formato de string introduzido no Python 3 é mais legível e amigável.