Pular para o conteúdo principal

Formatação de f-string em Python

Saiba mais sobre a técnica de formatação f-string no Python 3.6. Neste tutorial, você verá as vantagens que ele oferece e verá alguns exemplos de casos de uso.
24 de abr. de 2024  · 5 min lido

1. Introdução

O que é formatação de strings?

A formatação de strings é o design atraente de suas strings usando técnicas de formatação fornecidas pela linguagem de programação específica. Temos diferentes técnicas de formatação de strings no Python. Agora vamos explorar a nova técnica de formatação f-string.

f-string é avaliada no tempo de execução do programa. É rápido em comparação com os métodos anteriores.

O f-string tem uma sintaxe fácil em comparação com as técnicas anteriores de formatação de strings do Python. Exploraremos cada parte dessa formatação usando diferentes exemplos.

Execute e edite o código deste tutorial online

Executar código

1.1. Syntax

Cada instrução f-string consiste em duas partes: uma é o caractere f ou F, e a outra é uma string que queremos formatar. A cadeia de caracteres será colocada entre aspas simples, duplas ou triplas.

Vamos ver a sintaxe.

## we can also use F, '', ''''', """"""'
f"string"

No lugar da string, temos que colocar nossa frase que será formatada.

2. Exibição de variáveis

Anteriormente, usamos o método str.format() principalmente para formatar as cadeias de caracteres. Mas o tempo mudou, temos um novo método para tornar nossos esforços duas vezes mais rápidos.

As variáveis entre chaves { } são exibidas na saída como uma instrução de impressão normal. Vejamos um exemplo.

## declaring variables
name = "Datacamp"
type_of_company = "Educational"

## enclose your variable within the {} to display it's value in the output
print(f"{name} is an {type_of_company} company.")
Datacamp is an Educational company.

Obtivemos os valores das variáveis na saída. Veja, é fácil. Também podemos substituir o f por F.

## declaring variables
name = "Datacamp"
type_of_company = "Educational"

## enclose your variable within the {} to display it's value in the output
print(F"{name} is an {type_of_company} company.")
Datacamp is an Educational company.

f é inferior ou superior, funcionará da mesma forma.

3. Expressões

E se pudermos avaliar expressões como aritmética, chamadas de função, etc., em uma string? É legal, certo! Sim! É muito, muito interessante usar expressões dentro de uma string. f-string nos permite avaliar expressões dentro da string.

Basta colocar a expressão dentro de { } para avaliar. f-string a avalia no tempo de execução do programa. É um excelente recurso que economiza tempo e código.

Vejamos exemplos dos diferentes tipos de expressões.

## arithmetic expression
print(f"{5 * 5}")
25

Também podemos chamar funções dentro de { }. Vamos definir uma função greet() e chamá-la na string f

def greet(name):
    return "Hello, " + name
## calling the function using f-string
name = "Datacamp"
print(f"{greet(name)}")
Hello, Datacamp

Da mesma forma, também podemos chamar os métodos predefinidos. Vejamos.

## calling the 'title' method which makes the first letter of every word upper
string = "datacamp is an educational company."
print(f"{string.title()}")
Datacamp Is An Educational Company.

O que mais podemos fazer com a corda f? Podemos exibir o objeto? Sim, podemos. É o mesmo que quando mostramos a saída das variáveis.

class Sample:

    def __init__(self, name, age):
        self.name = name
        self.age = age

    ## this method will be called when we print the object
    def __str__(self):
        return f'{self.name} is {self.age} years old.'
john = Sample("John", 19)

## it'll wake up the __str__() method
print(f"{john}")
John is 19 years old.

4. Caracteres especiais

E se quisermos exibir caracteres especiais como {}, \', \"?, que são usados internamente pelo Python para um significado especial. Podemos usar o caractere de escape dentro da string f? Vamos ver as respostas a essas perguntas.

4.1. Citações

Podemos usar quaisquer aspas {simples, duplas ou triplas} na string f. Temos que usar o caractere de escape para imprimir aspas. A expressão f-string não nos permite usar a barra invertida. Temos que colocá-lo fora do { }.

Vamos ver isso por meio de exemplos.

name = "Datacamp"

## displaying single quotations
print(f"Hello, \'{name}\'")

print()

## displaying double quotations
print(f"Hello, \"{name}\"")
Hello, 'Datacamp'

Hello, "Datacamp"

Vamos ver outros tipos de citações em f-strings.

f'{"Hello, Datacamp"}'
'Hello, Datacamp'
f"{'Hello, Datacamp'}"
'Hello, Datacamp'
f"""Hello, Datacamp"""
'Hello, Datacamp'
f'''Hello, Datacamp'''
'Hello, Datacamp'

Também podemos incluir { } dentro das três aspas.

Não é possível usar as barras invertidas dentro de { } em f-string. Você receberá um erro se eles forem incluídos dentro de { }.

print(f"{\"Datacamp\"}")
  File "<ipython-input-60-b9a2502d6274>", line 1
    print(f"{\"Datacamp\"}")
         ^
SyntaxError: f-string expression part cannot include a backslash

4.2. Aparelhos ortodônticos

Temos que usar um conjunto duplo de chaves para imprimir as chaves usando f-string. Vejamos um exemplo.

print(f"{{Datacamp}}")
{Datacamp}

Se você quiser exibir dois conjuntos de chaves usando f-string, terá que usar quatro conjuntos de chaves.

print(f"{{{{Datacamp}}}}")
{{Datacamp}}

5. Dicionários

Precisamos ter um pouco de cuidado ao lidar com chaves de dicionário dentro da string f. Você precisa usar uma cotação diferente para a chave do dicionário e a string f. Você não tem permissão para usar as mesmas aspas para uma chave de dicionário como se fosse uma string f.

person = {"name": "John", "age": 19}
print(f"{person['name']} is {person['age']} years old.")
John is 19 years old.

Você não tem permissão para usá-lo da seguinte forma no caso de dicionários.

person = {"name": "John", "age": 19}
print(f'{person['name']} is {person['age']} years old.')
  File "<ipython-input-65-6849ff0810ae>", line 2
    print(f'{person['name']} is {person['age']} years old.')
                        ^
SyntaxError: invalid syntax

Conclusão

Espero que você tenha aprendido algo novo em Python ao ler este tutorial. Para saber mais sobre cadeias de caracteres e técnicas de formatação anteriores, consulte este tutorial no Datacamp. Além disso, confira o curso Expressões regulares em Python do DataCamp.

Boa programação :)

Tópicos

Cursos de Python

Curso

Introdução ao Python

4 h
6.6M
Domine os fundamentos da análise de dados com Python em quatro horas e explore pacotes populares.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial de strings em Python

Neste tutorial, você aprenderá tudo sobre as cadeias de caracteres do Python: fatiamento e encadeamento, manipulação e formatação com a classe Formatter, cadeias de caracteres f, modelos e muito mais!
Sejal Jaiswal's photo

Sejal Jaiswal

Tutorial

Tutorial de docstrings em Python

Saiba mais sobre os Docstrings do Python. Encontre diferentes exemplos e tipos de formatos de docstrings para Sphinx, Numpy e Pydoc.
Aditya Sharma's photo

Aditya Sharma

Tutorial

Função Python Print()

Saiba como você pode aproveitar os recursos de uma simples função Python Print de várias maneiras com a ajuda de exemplos.
Aditya Sharma's photo

Aditya Sharma

Tutorial

Python New Line: Métodos para formatação de código

Descubra como usar \n para inserir quebras de linha em cadeias de caracteres e instruções print(). Use o parâmetro end para manter a saída em uma única linha. Aprimore suas habilidades de manipulação de arquivos com o os.linesep para gerenciar texto em diferentes sistemas.
Samuel Shaibu's photo

Samuel Shaibu

Tutorial

Tutorial de funções Python

Um tutorial sobre funções em Python que aborda como escrever funções, como chamá-las e muito mais!
Karlijn Willems's photo

Karlijn Willems

Ver maisVer mais