O que são f-strings em Python

Como usar f-strings em Python

As f-strings (também conhecidas como formatted string literals) são uma funcionalidade muito interessante que foi introduzida na versão 3.6 do Python. Elas oferecem uma maneira mais simples e legível de formatar strings para a exibição de dados na saída, tornando a concatenação de variáveis e valores nessas strings mais fácil e eficiente.

A principal característica das f-strings é a utilização do prefixo f antes das aspas que delimitam a string. Dentro de uma f-string, podemos inserir expressões ou variáveis entre chaves { } que serão avaliadas e substituídas pelo seu valor na string final.

As f-strings foram introduzidas no Python com a PEP 498: https://peps.python.org/pep-0498/

Também é possível formatar strings em Python usando outros métodos, como por exemplo o método str.format.

Vejamos agora alguns exemplos básicos de como utilizar as f-strings.

Exemplos de f-strings

Exemplo 01

# Exemplo de f-string em Python
nome = "Fábio"
idade = 47
mensagem = f"Olá, meu nome é {nome} e eu tenho {idade} anos."
print(mensagem)

Neste exemplo, a variável mensagem será formatada com os valores das variáveis nome e idade e, ao ser impressa, resultará em:

Olá, meu nome é Fábio e eu tenho 47 anos.

Exemplo 02

Uma das vantagens das f-strings é que elas suportam expressões complexas dentro das chaves, permitindo a execução de cálculos e chamadas de funções diretamente na formatação da string. No exemplo a seguir vamos fazer um cálculo aritmético simples diretamente dentro da f-string:

# Exemplo de expressões dentro de uma f-string
a = 10
b = 5
resultado = f"A soma de {a} e {b} é igual a {a + b}."
print(resultado)

Saída:

A soma de 10 e 5 é igual a 15.

Exemplo 03

Além disso, as f-strings também podem ser úteis para formatar números, datas e outros tipos de dados, especificando um formato usando as mini linguagens de formatação do Python.

# Exemplo de formatação de números com f-string
valor = 1234.56789
mensagem = f"O valor é: {valor:.2f}" # Limita o número de casas decimais para 2.
print(mensagem)

Saída:

O valor é: 1234.57

Exemplo 04: Gerar saídas de múltiplas linhas

Para gerar saídas de múltiplas linhas usando f-strings em Python, podemos simplesmente usar as aspas triplas “”” ou ”’ para delimitar a string, permitindo que sejam inseridas várias linhas de texto e formatações dentro dela.

A seguir temos um exemplo de como usar f-strings para criar uma saída de múltiplas linhas:

# Exemplo de f-string para saída de múltiplas linhas
nome = "Alice"
idade = 25
profissao = "engenheira"

mensagem = f"""
Olá {nome},
Bem-vindo(a) ao nosso sistema!
Aqui estão algumas informações sobre você:
- Idade: {idade} anos
- Profissão: {profissao}
Esperamos que você aproveite nossa plataforma!
Atenciosamente,
A equipe do sistema
"""

print(mensagem)

Neste exemplo, a variável mensagem contém um texto formatado em múltiplas linhas, com valores substituídos a partir das variáveis nome, idade e profissao. A saída do código será:

Olá Alice,
Bem-vindo(a) ao nosso sistema!
Aqui estão algumas informações sobre você:
- Idade: 25 anos
- Profissão: engenheira
Esperamos que você aproveite nossa plataforma!
Atenciosamente,
A equipe do sistema

As f-strings, ao serem combinadas com aspas triplas, são uma ótima maneira de gerar saídas de múltiplas linhas com formatação de variáveis de forma mais concisa e legível. Isso vai deixar a criação de blocos de texto mais fácil e evitar a necessidade de concatenação manual de strings, proporcionando um código mais limpo e organizado.

Exemplo 05: Como usar f-strings com dicionários

Também é possível formatar de forma simples strings usando os valores contidos em dicionários do Python. Para isso, basta usar as chaves {} para referenciar as chaves do dicionário e obter seus respectivos valores na string formatada.

Vejamos um exemplo:

# Exemplo de f-string com dicionário
pessoa = {
"nome": "João",
"idade": 30,
"profissao": "programador"
}
mensagem = f"Olá, meu nome é {pessoa['nome']}, tenho {pessoa['idade']} anos e sou {pessoa['profissao']}."
print(mensagem)

Neste exemplo, temos um dicionário chamado pessoa com algumas informações sobre a pessoa. Em seguida, utilizamos uma f-string para criar a mensagem formatada, onde as chaves {} são usadas para inserir os valores do dicionário nas posições apropriadas. A saída do código será:

Olá, meu nome é João, tenho 30 anos e sou programador.

Note que usamos pessoa[‘nome’], pessoa[‘idade’] e pessoa[‘profissao’] para acessar os valores do dicionário. Isso é necessário porque as chaves do dicionário são usadas como chaves de formatação dentro das chaves {} da f-string.

Assim, usar f-strings com dicionários é uma maneira eficiente e conveniente de formatar strings, especialmente quando precisamos inserir valores de um dicionário em posições específicas.

Exemplo 06: Usar caracteres de escape em f-strings

Os caracteres de escape são usados em f-strings, assim como em strings normais em Python, para incluir caracteres especiais que não seriam interpretados de forma literal. Vejamos alguns exemplos de uso de caracteres de escape em f-strings:

1. Novas linhas

# Exemplo de uso de quebra de linha com \n em f-string
nome = "João"
mensagem = f"Olá, {nome}!\nBem-vindo ao nosso sistema."
print(mensagem)

Saída:

Olá, João!
Bem-vindo ao nosso sistema.

2. Aspas dentro de uma f-string

# Exemplo de uso de aspas dentro da f-string com \"
mensagem = f"Ele disse: \"Isso é incrível!\""
print(mensagem)

Saída:

Ele disse: "Isso é incrível!"

3. Caractere de barra invertida \

# Exemplo de uso de barra invertida com f-string
path = "C:\\Users\\Joao\\Documents\\arquivo.txt"
mensagem = f"Caminho do arquivo: {path}"
print(mensagem)

Saída:

Caminho do arquivo: C:\Users\Joao\Documents\arquivo.txt

4. Caractere de Tabulação

# Exemplo de uso de tabulação com \t em f-string
nome = "João"
mensagem = f"Nome:\t{nome}\tIdade:\t30"
print(mensagem)

Saída:

Nome: João       Idade: 30

Exemplo 07: Como usar funções em f-strings

Podemos chamar funções diretamente dentro das chaves {} de uma f-string para obter o resultado da função formatado na string. Vejamos exemplos variados:

1. Usando funções embutidas, como len():

# Exemplo usando função len() em uma f-string
nome = "João"
mensagem = f"Olá, {nome}! Seu nome tem {len(nome)} letras."
print(mensagem)

Saída:

Olá, João! Seu nome tem 4 letras.

2. Função definida pelo usuário:

# Exemplo usando uma função definida pelo usuário em uma f-string
def calcular_dobro(numero):
    return numero * 2

valor = 10
mensagem = f"O dobro de {valor} é {calcular_dobro(valor)}."
print(mensagem)

Saída:

O dobro de 10 é 20.

3. Função que recebe parâmetros múltiplos:

# Exemplo usando função com múltiplos parâmetros em uma f-string
def concatenar_nomes(nome1, nome2):
    return f"{nome1} e {nome2}"

nome_1 = "Alice"
nome_2 = "Bob"
mensagem = f"Os nomes concatenados são: {concatenar_nomes(nome_1, nome_2)}."
print(mensagem)

Saída:

Os nomes concatenados são: Alice e Bob.

4. Função com formatação:

# Exemplo usando função format() em uma f-string
def formatar_nome(nome):
    return nome.upper()

nome = "Alice"
mensagem = f"Olá, {formatar_nome(nome)}. Bem-vindo(a)!"
print(mensagem)

Saída:

Olá, ALICE. Bem-vindo(a)!

Conclusão

As f-strings tornam a manipulação e formatação de strings mais simples, legível e eficiente, sendo um recurso importante e que vale a pena conhecer para usar ao criar scripts em Python, facilitando a vida dos desenvolvedores.

 

Sobre Fábio dos Reis (1185 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*