Strings F do Python: interpolação avançada de strings

Aprenda como formatar strings em Python usando strings F. Avaliação de expressão mestre, formatação de precisão flutuante, impressão de data e hora e sintaxe autodocumentada.

Experimente no Editor

Visão geral

Formatar strings é uma tarefa que os desenvolvedores realizam diariamente. Historicamente, a formatação Python dependia da formatação `%` no estilo C ou do método `.format()`. Embora funcionais, esses estilos de sintaxe mais antigos geralmente geravam códigos detalhados e difíceis de ler.Python 3.6 introduziu literais de string formatados, comumente conhecidos como strings F. Strings F fornecem uma sintaxe concisa, legível e altamente otimizada para inserir variáveis ​​e expressões diretamente em literais de string.

Para criar uma string F, você prefixa a string literal com um `f` ou `F` (por exemplo, `f"Olá {nome}"`). Qualquer variável ou expressão Python colocada entre chaves `{...}` é avaliada em tempo de execução e convertida em uma string automaticamente. Strings F não são apenas para variáveis; você pode chamar funções, realizar cálculos matemáticos e até mesmo acessar valores de dicionário entre chaves, eliminando a necessidade de variáveis ​​temporárias.

As strings F também apresentam uma linguagem de formatação rica. Anexando dois pontos `:` dentro das chaves, você pode especificar regras de formatação. Por exemplo, `{value:.2f}` arredonda um float para duas casas decimais, `{num:03d}` preenche um número inteiro com zeros à esquerda e `{date:%Y-%m-%d}` formata um objeto datetime. EmPython 3.8+, as strings F introduziram a sintaxe de depuração `{variable=}`, que imprime o nome da variável e seu valor automaticamente, tornando a depuração rápida e fácil.

Saída de código e execução

Demonstração de formatação flutuante, avaliação de expressão e depuração de sinal de igual autodocumentada.

fstrings_demo.py
Experimente no Editor
name = "Charlie"
price = 19.995
quantity = 3

# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)

# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)

# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")
Saída terminal
Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100

Implementação passo a passo

  • Embelezando resultados numéricos em relatórios e painéis
  • Construindo consultas SQL dinâmicas ou cargas úteis de solicitação de API
  • Imprimindo instruções de depuração rápida durante testes locais

Perguntas frequentes

As strings F são mais rápidas do que outros métodos de formatação de strings?

Sim, strings F são mais rápidas que % formatação e .format() porque são avaliadas em tempo de execução como bytecode otimizado em vez de analisadas na execução.

Como imprimo chaves literais em uma string F?

Você pode escapar das chaves literais dobrando-as, por exemplo, f"{{Hello}}" imprimirá o texto literal '{Hello}'.

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.