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.
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
Escreva um comentário