Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Formatação com % e escape
  2. Formatação com F-string
  3. Formatação com format
  4. Formatação com center/ljust/rjust
  5. Formatação de data/hora
  6. Formatação com precisão
  7. Formatação com alinhamento
  8. Formatação com objeto
  9. Formatação de moeda

A linguagem Python fornece algumas funções para formatação de dados em strings e também para leitura de dados formatadas a partir de string. Nesta parte do tutorial vamos estudar essas funções.

O tipo de dado String foi estudado em Python: Strings. O assunto função pode ser visto com mais detalhes em Python: Funções com mais detalhes.

A forma mais simples de formatação de dados em em Python é utilizando os identificadores de formatação e caracteres escape. Além desses, alinhamento, precisão e outros foram vistos em Python: Entrada e Saída.

Sintaxe
print(string_formatada % (valor)
Exemplo 1
print("int:\t%d\nstr:\t%s\nfloat:\t%f" % (1,"Teste", 1.99))
Saída
int:    1
str:    Teste
float:  1.990000

A linguagem Python possui uma forma mais elegante de formatar dados em que usamos as próprias variáveis como placeholders como argumento para formatação. Nessa nova forma, a string formatada é prefixada com "f".

Sintaxe
f'{nome_variavel1} ... {nome_variavelN}'

f"{nome_variavel1} ... {nome_variavelN}"
Onde
{}: placeholder 
Exemplo 2
livro="Python"
preco = 1.99
quantidade = 9
string = f'{quantidade} livro(s) de {livro} custa(m) R${preco}'
print(string)
Saída
9 livro(s) de Python custa(m) R$1.99

Com a F-string, podemos configurar a alinhamento, tamanho de campo e casas decimais para exibição. Utilizamos (:) para separar o argumento e configurações:

Sintaxe: casas decimais
f'{<nome_variavel>:.N}'
Sintaxe: alinhamento/tamanho
f'{<nome_variavel>: AT}'
Onde
N : inteiro contendo número de casas decimais para exibição
A: Alinhamento
   < esquerda
   > direita
T: inteiro contendo o tamanho do campo
Exemplo 2.1
livro="Python"
preco = 1.99
quantidade = 9

print(f"{preco:.2f}")  # casas decimais 
print(f"{preco:<10}|") # alinhamento à esquerda
print(f"{preco:>10}|") # alinhamento à direita
Saída
1.99
1.99      |
      1.99|

Outra forma de formatação de valores em Python é utilizando o método format da classe string como pode ser visto na sintaxe abaixo:

Sintaxe
variavel_string.format(argumentos)
Onde
variavel_string: string contendo placeholders
<argumentos>: lista de argumentos separados por (,)

Nessa formatatação, os placeholders {} podem conter os índices dos argumentos informados para o método format. Esses argumentos podem ser nomeados tendo seus valores atribuídos quando informados:

Exemplo 3
print("{0} {1} {2}".format(1,"Teste", 1.99)) #ordenado
print("{0} {2} {1}".format(1,"Teste", 1.99)) #foram de ordem
print("{um} {dois} {tres}".format(um=1,dois="Teste", tres=1.99))
Saída
1 Teste 1.99
1 Teste 1.99
1 1.99 Teste

Se os argumentos estiverem em suas ordens corretas, a string com os placeholder não precisam conter os número dos índices como pode ser visto no exemplo abaixo:

Exemplo 3
print("{} {} {}".format(1,"Teste", 1.99))
Saída
1 Teste 1.99

A classe string, além do método format, possui os métodos center, rjust e ljust que são utilizandos para justificar valores em uma string que é retornada.

Sintaxe
variavel_string.center(tamanho_campo, preenchimento)

variavel_string.rjust(tamanho_campo, preenchimento)

variavel_string.ljust(tamanho_campo, preenchimento)
Onde
tamanho_campo: inteiro contendo o tamanho do campo
preechimento: caractere para preenchimento
Exemplo 4
print("STRING!".center(16, '-'))
print("STRING!".ljust(16, '-'))
print("STRING!".rjust(16, '-'))
Saída
----STRING!-----
STRING!---------
---------STRING!

Para trabalhar com datahora(datetime) em Python, precisamos importar o package nativo datime. Esse fornece o tipo datetime que pode armazenar as informações de data e hora e também o método strftime que é usado para formatação.

Sintaxe
from datetime import datetime
Sintaxe
variavel_datetime.strftime(string_formato)
Onde
string_formato: string contendo formatadores
%D: data no formato local.
%Y, %y : ano completo AAAA
%y: ano AA
%m: mês
%B: nome do mês completo. Local
%b: nome do mês abreviado. Local
%d: dia do mês
%A: dia da semana. Local
%a: dia da semana abreviado. Local
%H: horas 24H
%I: horas 12H
%M: número dos minutos
%S: segundos
Exemplo 5
from datetime import datetime

datahora = datetime.now()

print(f'{datahora.strftime("%D")}')
print(f'{datahora.strftime("%d/%m/%Y")}')
print(f'{datahora.strftime("%d-%m-%Y")}')
print(f'{datahora.strftime("%d %B %Y")}')
print(f'{datahora.strftime("%d %a %b %y")}')
Saída
09/11/25
11/09/2025
11-09-2025
11 September 2025
11 Thu Sep 25
  1. 11/09/2025 - revisão 3 - Ajustes: pontuais, títulos, objetivos e sintaxes; Adição: alinhamento/casas decimais e data-hora
  2. 18/09/2024 - revisão 2 - Ajustes gramaticais;
  3. 30/08/2024 - revisão 1 - Correção em link de objetivo center, ljust e rjust
  4. 12/02/2024 - versão inicial