Curso
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ódigo1.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 :)