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.
Colabore com a Bóson Treinamentos
Ajude o canal adquirindo meus cursos na Udemy:
- Bancos de Dados com MySQL Básico: https://bit.ly/35QdWE4
- Lógica de Programação com Português Estruturado: https://bit.ly/3QKPn22
- Programação em Python do Zero: https://bit.ly/python-boson
Adquira também livros e outros itens na loja da Bóson Treinamentos na Amazon e ajude o canal a se manter e crescer: https://www.amazon.com.br/shop/bosontreinamentos
