Pular para o conteúdo

Como Interpolar Strings em Python

[

Introdução às F-Strings do Python para Interpolação e Formatação de Strings

por Joanna Jablonski em 18 de outubro de 2023

As F-Strings do Python oferecem uma maneira rápida de interpolar e formatar strings. Elas são legíveis, concisas e menos propensas a erros do que as ferramentas tradicionais de interpolação e formatação de strings, como o método .format() e o operador módulo (%). Uma F-String também é um pouco mais rápida do que essas ferramentas!

Ao final deste tutorial, você saberá por que as F-Strings são uma ferramenta poderosa que você deve aprender e dominar como desenvolvedor Python.

Neste tutorial, você aprenderá como:

  • Interpolar valores, objetos e expressões em suas strings usando F-Strings
  • Formatar F-Strings usando a mini-linguagem de formatação de strings do Python
  • Aproveitar recursos interessantes das F-Strings no Python 3.12 e além
  • Decidir quando usar ferramentas de interpolação tradicional em vez de F-Strings

Para aproveitar ao máximo este tutorial, você deve estar familiarizado com o tipo de dados string do Python. Também é vantajoso ter experiência com outras ferramentas de interpolação de strings, como o operador módulo (%) e o método .format().

Interpolação e Formatação de Strings Antes do Python 3.6

Antes do Python 3.6, você tinha duas principais ferramentas para interpolar valores, variáveis e expressões dentro de literais de string:

  1. O operador de interpolação de strings (%), ou operador módulo
  2. O método .format()

Você terá um lembrete sobre essas duas ferramentas de interpolação de strings nas seções a seguir. Você também aprenderá sobre as capacidades de formatação de strings do Python.

O Operador Módulo, %

O operador módulo (%) é usado para substituir os marcadores de posição em uma string por valores fornecidos. Veja um exemplo:

name = "Alice"
age = 25
sentence = "Meu nome é %s e eu tenho %d anos." % (name, age)
print(sentence)

Este código produz a seguinte saída:

Meu nome é Alice e eu tenho 25 anos.

No exemplo acima, %s é um marcador de posição para uma string e %d é um marcador de posição para um número inteiro. Os valores são passados para o operador módulo em uma tupla após o símbolo %.

O Método .format()

O método .format() é usado para substituir marcadores de posição em uma string por valores fornecidos. Veja um exemplo:

name = "Bob"
age = 30
sentence = "Meu nome é {} e eu tenho {} anos.".format(name, age)
print(sentence)

Este código produz a seguinte saída:

Meu nome é Bob e eu tenho 30 anos.

No exemplo acima, {} é um marcador de posição que será substituído pelos valores passados para o método .format().

Fazendo Interpolação de Strings com F-Strings no Python

A partir do Python 3.6, você pode usar F-Strings para interpolar valores, objetos e expressões em suas strings. F-Strings são criadas colocando um f antes das aspas que delimitam a string e usando chaves {} para envolver as expressões que deseja interpolar. Veja um exemplo:

name = "Carol"
age = 35
sentence = f"Meu nome é {name} e eu tenho {age} anos."
print(sentence)

Este código produz a seguinte saída:

Meu nome é Carol e eu tenho 35 anos.

No exemplo acima, {name} e {age} são as expressões que serão interpoladas na string. O valor dessas expressões é inserido diretamente na string quando ela é formatada.

Incorporando Expressões em F-Strings

Além de interpolar variáveis, você também pode incorporar expressões dentro de F-Strings. Essas expressões podem ser tão complexas quanto desejadas. Veja um exemplo:

amount = 10.50
tax_rate = 0.08
total = f"O total com imposto é R${amount * (1 + tax_rate):.2f}"
print(total)

Este código produz a seguinte saída:

O total com imposto é R$11.34

No exemplo acima, a expressão amount * (1 + tax_rate) é incorporada diretamente na string e o resultado é formatado para ter duas casas decimais com :.2f.

Formatação de Strings com F-String do Python

Além de interpolar valores e incorporar expressões, você também pode formatar strings usando a mini-linguagem de formatação de strings do Python. Esta linguagem permite especificar a largura do campo, a precisão decimal e outros detalhes de formatação. Veja um exemplo:

name = "David"
age = 40
sentence = f"Meu nome é {name:>10} e eu tenho {age} anos."
print(sentence)

Este código produz a seguinte saída:

Meu nome é David e eu tenho 40 anos.

No exemplo acima, name:>10 especifica que o campo deve ser alinhado à direita com uma largura de 10. Isso garante que a string resultante sempre tenha pelo menos 10 caracteres de largura, preenchendo os espaços em branco com espaços.

Outros Recursos Relevantes das F-Strings

As F-Strings oferecem outros recursos interessantes que podem ser úteis ao trabalhar com strings. Alguns desses recursos incluem:

  • Usar as representações de string de objetos em F-Strings
  • Expressões de fácil documentação para depuração
  • Comparação de desempenho entre F-Strings e ferramentas tradicionais
  • Uso de aspas e barras invertidas
  • Adição de comentários inline
  • Decifrar mensagens de erro de F-Strings

Conclusão

As F-Strings do Python são uma ferramenta poderosa para interpolar e formatar strings. Elas oferecem uma sintaxe concisa e legível, tornando a escrita de strings mais eficiente e menos propensa a erros. Além disso, as F-Strings são rápidas e oferecem recursos adicionais para lidar com as necessidades específicas de interpolação e formatação de strings.

Neste tutorial, você aprendeu como usar F-Strings para interpolar valores, objetos e expressões em suas strings. Você também viu como formatar strings com a mini-linguagem de formatação de strings do Python. Além disso, explorou alguns recursos adicionais das F-Strings que podem ser úteis no seu trabalho diário.

Agora que você está familiarizado com as F-Strings, pode aproveitar ao máximo essa poderosa ferramenta ao escrever código Python. Experimente as F-Strings em seu próximo projeto e desfrute dos benefícios da interpolação e formatação de strings simplificadas!