Como formatar strings em Python (f-strings e formato)
Aprenda as melhores técnicas de formatação de strings em Python. Compare strings F modernas, format() e formatação percentual com exemplos de código.
Visão geral
A formatação de strings é uma necessidade diária para renderizar variáveis dentro de mensagens, gerar logs, imprimir depurações de console e construir páginas da web. Python evoluiu significativamente a formatação de strings ao longo dos anos, oferecendo múltiplas opções para construir representações de texto dinâmicas de forma segura e legível.
No Python moderno (3.6+), a abordagem padrão e mais popular é a formatação com strings f (literais de string formatados). Ao prefixar uma string com `f` ou `F`, você pode incorporar expressões ou variáveis Python diretamente entre chaves `{}`. Essas expressões são avaliadas em tempo de execução, tornando as strings f mais rápidas e significativamente mais legíveis do que os métodos de formatação mais antigos.
As bases de código Python mais antigas podem utilizar o método `.format()` ou a formatação percentual `%`. Embora ainda tenham suporte, eles geralmente são desencorajados para novos códigos. F-strings também suportam especificadores de formato embutidos poderosos, permitindo controlar a precisão decimal (por exemplo, `{value:.2f}`), alinhar texto ou formatar datas diretamente dentro de variáveis de string.
Saída de código e execução
Este script demonstra a impressão de blocos de texto dinâmicos usando strings f, formatação de pontos flutuantes e uso de .format().
name = "Alice"
age = 30
pi = 3.14159
# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)
# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)
# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.Implementação passo a passo
- Prefixe sua string literal com o caractere f (por exemplo, f'Hello...').
- Insira variáveis ou expressões diretamente entre chaves {} na string.
- Use especificações de formato como :.2f para lidar com a formatação decimal entre colchetes.
Perguntas frequentes
As strings f são mais rápidas que a formatação .format() e %?
Sim, strings f são avaliadas em tempo de execução como operações de bytecode otimizadas, tornando-as mais rápidas que os operadores .format() e %.
Posso executar funções ou avaliar expressões dentro de strings f?
Sim, qualquer expressão Python válida (incluindo operações matemáticas, chamadas de função e pesquisas de dicionário) pode ser avaliada entre colchetes.
Tópicos Relacionados
Aprenda como obter a data e hora atuais em Python usando o módulo datetime. Formate datas em strings com strftime e administre fusos horários.
Como converter string em int em PythonAprenda como converter uma string em um inteiro em Python usando a função int(). Lide com erros com segurança e converta números de binário, octal ou hexadecimal.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Strings Python
Manipulação de strings mestre em Python. Aprenda métodos de string, técnicas de fatiamento, concatenação e formatação com exemplos de códigos claros e executáveis.
Folha de dicas sobre formatação de data e hora em Python
Aprenda como analisar e formatar datas e horas em Python usando datetime, strftime e strptime.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.