f-strings

F-strings, também conhecidas como literais de strings formatados, são um mecanismo de formatação de strings introduzido pela primeira vez no Python 3.6. Elas fornecem uma maneira concisa e legível de incorporar expressões e variáveis diretamente em literais de strings. Isso é feito usando chaves {}, as quais são avaliadas e substituídas por seus valores.
Em termos de sintaxe, f-strings são pre-fixadas com a letra ‘f’ ou ‘F’, por exemplo, f’Oi, {nome}’. As f-strings suportam todas as especificações de formatação de strings do Python dentro das chaves.
Interpolação
Para criar interpolações usando f-strings, prefixe o literal da string com ‘f’ ou ‘F’ como nos exemplos abaixo:
# f-strings exemplo 1
nome = "Alexandre"
minha_frase = f"Bom dia, {nome}"
print(minha_frase)
# resultado: Bom dia, Alexandre
# f-strings exemplo 2
cidade = "Olinda"
quantidade = "mil"
minha_frase = F"O evento ocorreu em {cidade} e teve mais de {quantidade} candidatos"
print(minha_frase)
# resultado: O evento ocorreu em Olinda e teve mais de mil candidatos
Variáveis e expressões também podem ser interpoladas. Basta colocadas entre chaves {} dentro de uma f-string:
# f-strings com uma expressão
a = 100
b = 20
minha_string = f"O valor total com desconto ficou em {a- b}"
print(minha_string)
# resultado: O valor total com desconto ficou em 80
Formatação
Python permite usar especificações de formatação dentro das chaves em f-strings. Veja alguns exemplos:
# Formatação dentro das chaves
# exemplo 1
nome = "joana"
minha_frase = f"Bom dia, {nome.title()}"
print(minha_frase)
# resultado: Bom dia, Joana
# exemplo 2
nome = "MARIA SILVA"
minha_frase = f"Bom dia, {nome.capitalize()}"
print(minha_frase)
# resultado: Bom dia, Maria silva
Além disso, f-strings suportam operações tradicionais de strings, como concatenações com join().
nome = ["joana", "silva"]
minha_frase = f"Bom dia, {' '.join(nome).title()}"
print(minha_frase)
# resultado: Bom dia, Joana Silva
Métodos de formatação de números, como especificação de casas decimais, também podem ser usados.
# formatação de números
# exemplo 1
pi = 3.14159
pi_formatado = f"Pi corresponde a aproximadamente {pi:.4f}" #limita a quantidade de decimais em 4
print(pi_formatado) # Resultado: Pi corresponde a aproximadamente 3.1416
# exemplo 2
precision = 2
pi_formatado = f"Pi corresponde a aproximadamente {pi:.{precision}f}"
print(pi_formatado) # Resultado: Pi corresponde a aproximadamente 3.14
Aspas
Python suporta vários tipos diferentes de aspas como delimitadores em literais de f-strings. Você pode usar aspas simples (‘) e duplas (“). Você também pode usar aspas simples triplas (”’) e duplas triplas (“””). Veja um exemplo abaixo:
# """ como delimitador
nome = "Manoel"
minha_string_longa = f"""
Bom dia, {nome}\n
Gostaria de saber o valor total do projeto encomendado e a data de entrega.\n
Obrigado
"""
print(minha_string_longa)
# Bom dia, Manoel
# Gostaria de saber o valor total do projeto encomendado e a data de entrega.
# Obrigado
Veja também:
Concatenações com join() para strings em Python
O que é operador ternário em Python?
F-strings em Strings Multilinhas
Decodificação de strings em Python com decode()
Métodos para Manipular Strings em Python
Módulo Getpass para Prompts de Senhas
Aprenda a comparar textos com Python com Difflib
Módulo textwrap para formatação de textos
Manipulação de arquivos com Python
os.environ: gerenciamento de variáveis de ambiente com Python
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.