Ao fazer uso do recurso Python f-string, você consegue inserir ex­pres­sões e variáveis complexas em uma string de forma direta, sem precisar realizar qualquer conversão ou se preocupar com a for­ma­ta­ção. F-strings em Python sim­pli­fi­cam a for­ma­ta­ção de strings, tornam códigos mais claros e precisos e poupam esforços de de­sen­vol­vi­mento.

O que é Python f-string?

F-string em Python, ou formatted string literal, é um formato de string em Python in­tro­du­zido pela versão de Python 3.6. Es­pe­ci­al­mente de­sen­vol­vido para ser aplicado a strings, o recurso de for­ma­ta­ção f-string também suporta a re­a­li­za­ção de cálculos, que podem ser in­cor­po­ra­dos entre chaves. F-strings em Python permitem que cadeias de ca­rac­te­res ganhem uma notação mais compacta e objetiva, tornando códigos mais claros e legíveis. Jus­ta­mente por isso, elas se destacam de outros métodos de for­ma­ta­ção, como do str.format() ou da con­ca­te­na­ção com +.

Por ser ex­tre­ma­mente flexível, o recurso Python f-string aceita a inserção de variáveis e ex­pres­sões em di­fe­ren­tes tipos de dados, como em inteiros, floats e listas, e até em ex­pres­sões e funções, sem que seja preciso convertê-las ou formatá-las ma­nu­al­mente. Isso quer dizer que f-strings em Python também agilizam e sim­pli­fi­cam o trabalho dos de­sen­vol­ve­do­res.

Sintaxe de Python f-string

A estrutura básica de uma f-string em Python é formada pelo prefixo f ou F, seguido da string entre aspas simples ' ou duplas " . Dentro da string, você pode fazer uso de chaves {} quando precisar in­cor­po­rar variáveis ou ex­pres­sões. Observe o exemplo:

name = "Peter"
age = 25
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string) # Output: My name is Peter and I am 25 years old.
python

Nessa f-string, subs­ti­tuí­mos a variável name por {name} e a variável age por {age}, para criar uma cadeia de ca­rac­te­res formatada com as devidas in­for­ma­ções.

Hos­pe­da­gem que se adapta às suas ambições
  • Fique online com 99,99% de tempo de atividade e segurança robusta
  • Aumente o de­sem­pe­nho com um clique à medida que o tráfego cresce
  • Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana

Como utilizar Python f-string

Existem di­fe­ren­tes formas de se aplicar e es­pe­ci­fi­car f-strings em códigos escritos em Python.

Python f-string para realizar cálculos dentro de uma string

Python f-strings são es­pe­ci­al­mente in­te­res­san­tes a quem deseja realizar operações arit­mé­ti­cas dentro de uma string. Com o recurso, você torna-se capaz de definir uma expressão complexa em uma única linha:

num1 = 10
num2 = 5
result = f"The sum of {num1} and {num2} is {num1 + num2}"
print(result) # Output: The sum of 10 and 5 is 15
python

Nesse exemplo de código, a soma de num1 e num2 é realizada dentro de uma f-string, sendo o resultado di­re­ta­mente apre­sen­tado pela string final.

Python f-string e raw string

A com­bi­na­ção dos prefixos r (raw) e f (formatted) cria um tipo especial de string em Python, conhecida como rf-string. Uma rf-string combina a ca­pa­ci­dade de uma raw string, de in­ter­pre­tar li­te­ral­mente sequên­cias de escape, com a fle­xi­bi­li­dade e a efi­ci­ên­cia de uma f-string, que suporta a in­cor­po­ra­ção direta de variáveis e ex­pres­sões. O código abaixo ilustra essa as­so­ci­a­ção:

name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txt
python

Acima, fizemos uso de uma rf-string para es­pe­ci­fi­car um caminho. O uso de {name} dentro da rf-string faz com que a variável name seja inserida de forma direta. Já o r antes da string faz com que a barra invertida \ seja lida como caractere literal, e não como parte de uma sequência de escape.

Python f-string para precisar números de vírgula flutuante

Ao inserir ins­tru­ções de for­ma­ta­ção especiais no seu código, você consegue de­ter­mi­nar a quan­ti­dade de casas decimais de um número de vírgula flutuante em uma string. Veja:

value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142
python

Nesse exemplo, a instrução de for­ma­ta­ção :.3f ordena que a variável value seja ar­re­don­dada para três casas decimais antes de ser inserida na string formatada.

Python f-string para definir tamanho e ali­nha­mento

Ao definir o tamanho e o ali­nha­mento de uma f-string em Python, você controla a exibição dos valores inseridos, es­ta­be­le­cendo o campo a ser usado. O recurso é útil para encaixar textos e números em áreas de tamanho es­pe­cí­fico, e também para alinhá-los à esquerda, à direita ou no centro.

No exemplo de código abaixo, desejamos exibir o nome __Alice__ em um campo de dez ca­rac­te­res de tamanho, e alinhá-lo à direita:

name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello,      Alice
python

Uma vez que o valor __Alice__ possui menos de dez ca­rac­te­res, a es­pe­ci­fi­ca­ção {name:>10} faz com que ele seja alinhado à direita.

Python f-string para preencher com zeros ou outros ca­rac­te­res

O pre­en­chi­mento com zeros ou outros ca­rac­te­res in­flu­en­cia o ali­nha­mento de valores que devem ser exibidos em um campo es­pe­cí­fico. Em situações como essa, f-strings podem ser úteis para exibir números em formatos fixos, como em horários ou sequên­cias.

number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042
python

Nesse exemplo de código, :06 indica que o número number deve ser inserido em um campo de seis dígitos. Caso faltem ca­rac­te­res, estes devem ser pre­en­chi­dos por zeros à esquerda.

Além de zeros, você também pode usar outros ca­rac­te­res para preencher espaços em strings, como pode ser observado no código abaixo:

word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____
python
Ir para o menu principal