Que diabo é esse de F-strings em Python?

Isso é uma boa pergunta. Eu demorei meses pra entender exatamente como isso funciona. Mas hoje, uso quase que todos os dias. Nesse post vou compartilhar com vocês tudo que sei sobre o F-string. Vou explicar de uma maneira muito fácil de entender e você vai começar a usar hoje mesmo.

Se você está começando a programar em Python, provavelmente já se deparou com a necessidade de combinar texto com variáveis. As F-strings são uma das formas mais modernas e elegantes de fazer isso.

O que é um F-String em Python?

Primeiro de tudo, vamos explicar o que é um F-string em Python. O F-string (ou formatted string literal) introduzidas no Python 3.6, oferecem uma forma concisa e legível de inserir variáveis e expressões dentro de strings.

Esse método permite que você insira valores de variáveis diretamente dentro de um texto usando uma sintaxe muito simples.

Sintaxe Básica

Para criar um F-string, você simplesmente coloca a letra F antes das aspas e usa a chave {}para inserir a variável. Vamos ver um exemplo?

nome = "Maria" # nome é a variável
idade = 25     # idade também é uma variável

# inserindo f-string
print(f"Meu nome é {nome} e tenho {idade} anos")

Outras Maneira de Obter o Mesmo Resultado

Antes do Python 3.6, haviam outras maneiras de obter-se o mesmo resultado. Vou também mostrar, caso você esteja trabalhando com uma máquina mais antiga.

nome = "João"
sobrenome = "Silva"

print("Nome: {} {}".format(nome, sobrenome))

f-string com python

Outra forma de conseguirmos fazer isso, seria usando o símbolo de porcentagem (%).

nome = "João"
sobrenome = "Silva"

print("Nome: %s %s" % (nome, sobrenome))

output

Apesar de termos essas opções na caixa de ferramentas, o F-string é mais limpo. Pois dependendo do tamanho do código, as formas antigas podem causar confusão.

Exemplos Práticos para Iniciantes

Informações Pessoais

nome = "Ana"
idade = 30
cidade = "São Paulo"
profissao = "Desenvolvedora"

apresentacao = f"Olá! Eu sou {nome}, tenho {idade} anos, moro em {cidade} e trabalho como {profissao}."
print(apresentacao)

Cálculos Matemáticos

preco = 50.75
quantidade = 3
total = preco * quantidade

print(f"Preço unitário: R$ {preco}")
print(f"Quantidade: {quantidade}")
print(f"Total: R$ {total}")

Expressões Dentro das Chaves

Usando o F-string, também podemos fazer cálculos dentro das chaves. Por exemplo, se a=10 e b=20, você pode coloca-los dentro das chaves com a expressão matemática ({a + b}). Segue o código:

a = 10
b = 20

print(f"A soma de {a} + {b} = {a + b}")
print(f"A multiplicação de {a} * {b} = {a * b}")
print(f"O maior número é: {max(a, b)}")

Formatação de Números

O F-string também é bastante útil quando você precisa formatar números. Quando for imprimir a variável, tudo que tem a fazer é chamar a variável e colocar a formatação ({variável:formatação}). No caso, se você quiser dois números depois da vírgula use o .2f. Se quiser três, use .3f. E assim por diante. Por exemplo:

Casas Decimais

pi = 3.14159265359

print(f"Pi com 2 casas decimais: {pi:.2f}")
print(f"Pi com 4 casas decimais: {pi:.4f}")

Formatação de Moeda

Pode-se usar isso, também para formatar números representando dinheiro.

preco = 1234.56

print(f"Preço: R$ {preco:.2f}")
print(f"Preço com separador de milhares: R$ {preco:,.2f}")

Claro que no Brasil, usamos , como separador decimal. Então, para ficar mais bonito e profissional, pode-se usar o pacote locale. Esse faz a transferência de decimal internacional para brasileiro.

import locale

# colocando brazilian locale
locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8')

preco = 1234.56
print(f"Preço: R$ {preco:n}")

Percentuais

O F-string não é somente com decimais. Podemos usar também com percentuais. Examine esse código:

taxa = 0.15
desconto = 0.25

print(f"Taxa de juros: {taxa:.1%}")
print(f"Desconto: {desconto:.0%}")

Formatação de Sequência de Caracteres (strings)

A utilização de F-strings não para com números. Funciona com letras também. Vamos ver o poder dessa função com strings?

Alinhamento

Pode-se usar os sinais de maior, menor e circunflexo para criar espaços entre as palavras:

nome = "Python"

print(f"Esquerda: '{nome:<10}'")
print(f"Centro: '{nome:^10}'")
print(f"Direita: '{nome:>10}'")

Preenchimento de Caracteres

numero = 42

print(f"Com zeros: {numero:05d}")
print(f"Com asteriscos: {numero:*^10}")

Trabalhando com Datas

Tem mais ainda. Essa função é bastante usada. Vamos falar sobre datas.

from datetime import datetime

agora = datetime.now()

print(f"Data atual: {agora:%d/%m/%Y}")
print(f"Hora atual: {agora:%H:%M:%S}")
print(f"Data e hora: {agora:%d/%m/%Y às %H:%M}")

Conclusão

Pessoal, esses são os casos mais comuns do uso de F-strings. Não tenha dúvidas de que o potencial é infinito. As F-strings são ferramentas poderosas e essenciais para qualquer programador Python. Elas tornam a formatação de strings mais intuitiva e eficiente. Com a prática, você descobrirá que são muito mais convenientes do que os métodos antigos.

Lembre-se: as F-strings estão disponíveis apenas no Python 3.6+. Se você está usando uma versão mais antiga, considere atualizar para aproveitar essa funcionalidade incrível!

Gostou deste guia? Compartilhe com outros iniciantes em Python e continue acompanhando nosso blog para mais conteúdo sobre programação!