Fundamentos da formatação de strings em Python
A formatação de strings é uma das ferramentas mais poderosas e práticas da linguagem Python. Esse mecanismo permite gerenciar com flexibilidade a exibição de informações em diversos cenários de desenvolvimento. Seja para criar relatórios, gerar arquivos de log ou desenvolver interfaces de usuário, um texto bem formatado é essencial para a clareza da informação.
A formatação de strings se torna ainda mais importante ao trabalhar com dados numéricos, datas, tabelas e templates complexos. A formatação correta do texto melhora significativamente a legibilidade do código, simplifica os processos de depuração e registro (logging), e aprimora a exibição dos resultados em interfaces de usuário.
No ambiente profissional de desenvolvimento, strings formatadas são frequentemente parte integrante de templates, arquivos de configuração e relatórios HTML. O uso adequado dessa ferramenta permite criar um código mais sustentável (maintainable) e compreensível.
Três abordagens principais para formatação
O Python oferece aos desenvolvedores três métodos principais para formatar strings:
- f-strings (f-strings) — a abordagem moderna, disponível desde o Python 3.6
- Método .format() — uma forma versátil, compatível com versões anteriores
- Formatação com % — o estilo clássico, herdado da linguagem C
Neste artigo, abordaremos cada um desses métodos em detalhes. Daremos atenção especial às f-strings, por serem a forma mais legível e eficiente de formatação. Também veremos a formatação de diferentes tipos de números, incluindo valores decimais, porcentagens e notação científica. Exploraremos técnicas de alinhamento de texto, trabalho com templates e exemplos práticos de projetos reais de desenvolvimento.
f-strings: o padrão moderno de formatação
Sintaxe básica e recursos
As f-strings surgiram no Python 3.6 e representaram um grande avanço em termos de praticidade e legibilidade do código. São literais de string especiais que começam com o prefixo f antes das aspas de abertura. Dentro dessas strings, você pode colocar variáveis e expressões entre chaves {}.
nome = "João"
idade = 30
print(f"Olá, meu nome é {nome} e tenho {idade} anos.")
A principal vantagem das f-strings é a possibilidade de usar não apenas variáveis, mas também qualquer expressão Python válida:
print(f"Daqui a 5 anos, terei {idade + 5} anos.")
Dentro das f-strings, você pode chamar funções e métodos:
def quadrado(x):
return x * x
print(f"O quadrado de 4 é: {quadrado(4)}")
Recursos avançados das f-strings
As f-strings suportam acesso a atributos de objetos e elementos de coleções:
class Pessoa:
def __init__(self, nome, idade):
self.nome = nome
self.idade = idade
pessoa = Pessoa("Maria", 25)
print(f"Funcionário: {pessoa.nome}, idade: {pessoa.idade}")
dados = {"cidade": "São Paulo", "populacao": 12300000}
print(f"Cidade {dados['cidade']} com população de {dados['populacao']:,} habitantes")
Formatação de números em f-strings
As f-strings oferecem recursos poderosos para formatar valores numéricos:
pi = 3.1415926
print(f"O número Pi com duas casas decimais: {pi:.2f}") # 3.14
| Sintaxe | Finalidade | Exemplo de resultado |
|---|---|---|
:.2f |
duas casas decimais (float) | 3.14 |
:,.2f |
com separador de milhares | 1.234,56 |
:e |
notação científica | 3.14e+00 |