Pular para o conteúdo principal

Tutorial do format() de strings em Python

Aprenda sobre a formatação de strings em Python.
Actualizado 22 de out. de 2024  · 5 min de leitura

A formatação de strings também é conhecida como interpolação de strings. É o processo de inserção de uma string ou variável personalizada em um texto predefinido.

custom_string = "String formatting"
print(f"{custom_string} is a powerful technique")
String formatting is a powerful technique

Como cientista de dados, você a usaria para inserir um título em um gráfico, mostrar uma mensagem ou um erro ou passar uma instrução para uma função.

Métodos de formatação

  • Formatação posicional
  • Literais de string formatados
  • Método de modelo

Método string.format

Colocamos espaços reservados definidos por um par de chaves em um texto. Chamamos o método string.format. Em seguida, passamos o valor desejado para o método. O método substitui os marcadores usando os valores na ordem de aparição substituindo por valor:

'text{}'.format(value)

Formatação posicional

Definimos uma string e inserimos dois espaços reservados. Passamos duas strings para o método, que serão passadas para você obter o seguinte resultado:

print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically

Podemos usar variáveis tanto para a string quanto para os valores passados para o método. No código de exemplo abaixo, definimos uma string com espaços reservados e duas outras variáveis. Aplicamos o método de formatação à string usando as duas variáveis definidas. O método lê a string e substitui os espaços reservados pelos valores fornecidos.

my_string = "{} rely on {} datasets"
method = "Supervised algorithms"
condition = "labeled"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets

Reordenação de valores

No exemplo abaixo, você adiciona números de índice aos espaços reservados para reordenar os valores. Isso afeta a ordem em que o método substitui os espaços reservados.

O método os substitui pelos valores na ordem fornecida.

print("{} has a friend called {} and a sister called {}". format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy

Se adicionarmos os números de índice, a ordem de substituição será alterada de acordo.

print("{2} has a friend called {0} and a sister called {1}". format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda

Espaços reservados de nome

Também podemos introduzir argumentos de palavra-chave que são chamados pelo nome da palavra-chave.

No código de exemplo abaixo, inserimos palavras-chave nos espaços reservados. Em seguida, chamamos essas palavras-chave no método de formatação. Em seguida, atribuímos a variável que será passada para cada uma delas, resultando no seguinte resultado.

tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset

Vamos examinar esse código abaixo. Definimos um dicionário com chaves: ferramenta e meta.

my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}

Queremos inserir seus valores em uma string. Dentro dos espaços reservados, podemos especificar o valor associado à ferramenta-chave dos dados variáveis usando a notação de colchetes. Data é o dicionário especificado no método, e tool é a chave presente nesse dicionário.

print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))

Assim, obtemos o resultado desejado mostrado abaixo. Cuidado! Você precisa especificar o índice sem usar aspas.

Unsupervised algorithms try to find patterns in the dataset

Especificador de formato

Você também pode especificar o formato dentro de chaves. Isso define como os valores individuais são apresentados. Aqui, usaremos o especificador de índice de sintaxe de dois pontos. Um dos especificadores de formato mais comuns é o float, representado por f. No código, especificamos que o valor passado com o índice 0 será um float.

print("Only {0:f}% of the {1} produced worldwide is {2}!". format(0.5155675, "data", "analyzed"))
Only 0.515567% of the data produced worldwide is analyzed!

Também poderíamos adicionar .2f, indicando que queremos que o float tenha duas casas decimais, conforme visto na saída resultante.

print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!

Formatação datetime

O Python tem um módulo chamado datetime que nos permite, por exemplo, obter a hora e a data de hoje.

from datetime import datetime
print(datetime.now())
2020-08-08 06:28:42.715243

Porém, como o formato retornado é muito específico, você pode usar o especificador de formato, como %y-%m-%d-%h-%m, para ajustar o formato a algo mais familiar para nós!

print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))
Today's date is 2020-08-08 06:29

Exemplo interativo

No exemplo a seguir, você atribuirá as substrings que vão do 4º ao 19º caractere e do 22º ao 44º caractere de wikipedia_article às variáveis first_pos e second_pos, respectivamente. Ajuste as strings para que fiquem em letras minúsculas. Por fim, imprima as variáveis first_pos e second_pos.

# Assign the substrings to the variables
first_pos = wikipedia_article[3:19].lower()
second_pos = wikipedia_article[21:44].lower()

Quando executamos o código acima, ele produz o seguinte resultado:

computer science artificial intelligence

Experimente você mesmo.

Para saber mais sobre a formatação posicional, assista a este vídeo do nosso curso Expressões regulares em Python.

Este conteúdo foi extraído do curso Expressões regulares em Python do DataCamp, ministrado por Maria Eugenia Inzaugarat.

Confira nosso tutorial sobre strings em Python.

Temas

Cursos de Python

curso

Introduction to Python

4 hr
6M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

tutorial

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.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

5 min

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

16 min

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

15 min

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

14 min

tutorial

Tutorial de como executar scripts Python

Saiba como executar um script Python a partir da linha de comando e também como fornecer argumentos de linha de comando ao seu script.
Aditya Sharma's photo

Aditya Sharma

10 min

Ver maisVer mais