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.
CtaWorkspaceButton.null
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 :)