Domine Strings format() em Python com Exemplos Claros
O que é Python String format()?
Python String format() é uma função usada para substituir, substituir ou converter a string com placeholders por valores válidos na string final. É uma função embutida da classe string do Python, que retorna a string formatada como saída. Os placeholders dentro da string são definidos entre chaves.
Por exemplo, "Bem-vindo ao Guru99 {}".format('valor aqui').
Neste tutorial, você aprenderá:
- O que é Python String format()?
- Sintaxe da função format() em Python
- Como o string format() funciona?
- Exemplo: Placeholder vazio substituído por valor string
- Exemplo: Placeholder vazio substituído por valor numérico
- Exemplo: Usando variável ou argumentos de palavra-chave dentro do Placeholder
- Exemplo: Usando índice ou argumentos posicionais dentro do Placeholder
- Formatação dentro de Placeholders
- Usando classe com format()
- Usando dicionário com format()
- Preenchimento de Substituições de Variáveis
Sintaxe da função format() em Python
string_template.format(val1, val2...)
Parâmetros
val1, val2 ... : Os valores que precisam substituir na string template dada que tem placeholders na forma de chaves {}. Os placeholders podem ser string, par chave/valor, inteiros, números de ponto flutuante, caracteres, etc.
Valor de retorno:
Retorna a string final, com valores válidos substituídos no lugar dos placeholders dados entre chaves.
Placeholders
Os placeholders na string template são representados usando chaves, ex: {}. O placeholder pode ser vazio {}, ou pode ter uma variável ex: {nome}, ou pode ter um índice numérico ex: {0}, {1} etc.
Como o string format() funciona?
O método Python String format() escaneia as strings originais por placeholders. Os placeholders podem ser chaves vazias ({}), argumentos posicionais i.e. a string pode ter placeholders com índice 0, 1 ex: {0}, {1} etc.
Para argumentos de palavra-chave, o nome da variável estará presente dentro das chaves ex: {nome}, {idade}. No caso de chaves vazias, os valores do format serão substituídos dentro das chaves em sequência.
O primeiro valor será substituído na primeira chave vazia, seguido pelo próximo. Para argumentos posicionais, o índice começará de 0 e assim por diante. Os valores estarão disponíveis no format separados por vírgulas, e o valor 0 apontará para o primeiro valor dentro do format e assim por diante.
Para argumentos de palavra-chave, i.e., quando você usa uma variável dentro dos seus placeholders, você pode ter a ordem dos valores dentro do format como precisar. A ordem não importa aqui pois os valores serão substituídos baseados no nome da variável presente no format(). Aqui estão alguns exemplos de como usar placeholders dentro de uma string como vazios, posicionais e usando palavras-chave ou variáveis.
Exemplo: Placeholder vazio substituído por valor string
No exemplo abaixo, a string tem chaves vazias({}). O valor dado ao format será substituído dentro das chaves({}).
O valor que queremos substituir é uma string.
Exemplo:
Usando Formatação de String em Python, queremos que as chaves ({}) sejam substituídas por um valor string. O valor é dado para format("Guru99"). Na execução, as chaves {} são substituídas por Guru99, e você obterá a string final como Bem-vindo ao Guru99 tutoriais.
print("Bem-vindo a {} tutoriais".format("Guru99"))
Saída:
Bem-vindo a Guru99 tutoriais
Exemplo: Placeholder vazio substituído por valor numérico
No exemplo abaixo, queremos que o valor numérico seja substituído dentro da string original. As chaves({}) são adicionadas ao local onde você precisa do valor numérico. Quando executa, as chaves vazias ({}) são substituídas pelo valor numérico.
Exemplo:
Você também pode fazer uso de format() para inserir números dentro da sua string. O exemplo mostrará como substituir o Placeholder vazio {} com número 99 presente dentro do format().
print("Bem-vindo ao Guru{} Tutoriais".format("99"))
Saída:
Bem-vindo ao Guru99 Tutoriais
Exemplo: Usando variável ou argumentos de palavra-chave dentro do Placeholder
Também é possível fazer uso de variáveis dentro das chaves, como mostrado no exemplo abaixo. As variáveis são definidas dentro do format(). Portanto, quando executa, o valor atribuído à variável é substituído dentro da string original.
Exemplo:
Você pode usar variáveis dentro das chaves por exemplo {nome} {num}. Os valores para as variáveis nome e num estão disponíveis dentro do format i.e. format(nome="Guru", num="99"). Os valores dados a nome e num serão substituídos dentro de {nome} e {num}.
print("Bem-vindo a {nome}{num} Tutoriais".format(nome="Guru", num="99"))
Saída:
Bem-vindo a Guru99 Tutoriais
Exemplo: Usando índice ou argumentos posicionais dentro do Placeholder
Os valores podem ser substituídos usando índices como 0, 1, 2 dentro dos placeholders. O valor será pego em ordem do format(), como mostrado no exemplo abaixo.
Exemplo:
print("Bem-vindo a {0}{1} Tutoriais".format("Guru","99"))
Saída:
Bem-vindo a Guru99 Tutoriais
Exemplo: Usando múltiplos placeholders dentro de uma string
Neste exemplo, vamos usar múltiplos placeholders vazios.
Exemplo:
A string usada no exemplo tem múltiplos placeholders vazios e cada placeholder se referirá a um valor dentro do format(). O primeiro valor será substituído para o primeiro placeholder e assim por diante.
print("{} é {} novo tipo de {} experiência!".format("Guru99", "totalmente","aprendizado"))
Saída:
Guru99 é totalmente novo tipo de aprendizado experiência!
Formatação dentro de Placeholders
Você viu que é possível ter Placeholder como vazio, com uma variável ou um índice. Também é possível que você possa aplicar Formatação de String Python dentro do Placeholder.
Aqui está a lista de formatos
| Formato | Descrição | Exemplo |
|---|---|---|
:d |
Retorna saída em formato decimal quando usado dentro do placeholder | print("O valor binário para decimal é: {:d}".format(0b0011))Saída: O valor binário para decimal é: 3 |
:b |
Retorna saída em formato binário quando usado dentro do placeholder | print("O valor binário é: {:b}".format(500))Saída: O valor binário é: 111110100 |
:e |
Retorna saída em formato científico quando usado dentro do placeholder, o expoente e na saída será minúsculo. | print("O valor científico é: {:e}".format(40))Saída: O valor em formato científico é: 4.000000e+01 |
:E |
Retorna saída em formato científico quando usado dentro do placeholder, o expoente E na saída será maiúsculo | print("O valor científico é: {:E}".format(40))Saída: O valor científico é: 4.000000E+01 |
:f |
Isso exibirá um número em formato de ponto fixo. Por padrão, você obterá a saída de qualquer número com seis casas decimais. Caso precise até 2 casas decimais, use como .2f i.e. um ponto (.) na frente de 2f | print("O valor é: {:f}".format(40))Saída: O valor é: 40.000000 Exemplo: Mostrando saída até 2 casas decimais. print("O valor é: {:.2f}".format(40))Saída: O valor é: 40.00 |
:o |
Isso exibirá formato octal | print("O valor é: {:o}".format(500))Saída: O valor é: 764 |
:x |
Isso exibirá formato hex em minúsculas | print("O valor é: {:x}".format(500))Saída: O valor é: 1f4 |
:X |
Isso exibirá formato hex em maiúsculas. | print("O valor é: {:X}".format(500))Saída: O valor é: 1F4 |
:n |
Isso exibirá formato numérico. | print("O valor é: {:n}".format(500.00))Saída: O valor é: 500 |
:% |
Isso dará a saída em formato de porcentagem. Por padrão dará 6 casas decimais para a saída de porcentagem, caso não queira nenhum valor decimal você pode usar ponto com 0 i.e ({:.0%}). | print("O valor é: {:%}".format(0.80))Saída: O valor é: 80.000000% Este exemplo mostra como pular as casas decimais usando {:.0%} dentro do placeholder. print("O valor é: {:.0%}".format(0.80))Saída: O valor é: 80% |
:_ |
Isso exibirá um underscore como separador de milhares. Disponível a partir do Python 3.6+. | print("O valor é {:_}".format(1000000))Saída: O valor é: 1_000_000 |
:, |
Isso exibirá vírgula como separador de milhares | print("O valor é: {:,}".format(1000000))Saída: O valor é: 1,000,000 A vírgula(,) é adicionada como separador de milhares como mostrado na saída. |
: |
Isso adicionará um espaço antes de qualquer número positivo | Este exemplo mostra como adicionar espaço ou padding antes do número dado. O número 5 indica a contagem de espaços que você quer antes do número.print("O valor é: {:5}".format(40))Saída: O valor é: 40 |
:- |
Isso adicionará um sinal de menos antes de números negativos | O exemplo mostra como obter a saída com um sinal de menos (-) antes do número usando {:-}.print("O valor é: {:-}".format(-40))Saída: O valor é: -40 |
:+ |
Você pode usar sinal de mais para indicar que o número é positivo | O exemplo mostra como obter a saída com um sinal de mais (+) antes do número usando {:+}.print("O valor é: {:+}".format(40))Saída: O valor é: +40 |
:= |
O igual a é usado para colocar o sinal +/- no lado esquerdo. | O exemplo mostra como obter a saída com um sinal de mais/menos (+/-) antes do sinal de igual usando {:=}.print("O valor é {:=}".format(-40))Saída: O valor é -40 |
:^ |
Isso centralizará o resultado final | O exemplo mostra como usar {:^} para centralizar o texto. O número 10 é usado para adicionar 10 espaços para mostrar o alinhamento central quando o valor é substituído.print("O valor {:^10} é valor positivo".format(40))Saída: O valor 40 é valor positivo Aqui, você pode usar 10 que adicionará 10 espaços no texto final, e o valor a ser substituído será centralizado entre os 10 espaços. Os espaços de 10 são adicionados apenas para mostrar o alinhamento central do valor substituído. |
:> |
Isso alinhará à direita o resultado final | O espaço de 10 é adicionado usando (:>10), e o valor substituído é alinhado à direita.print("O valor {:>10} é valor positivo".format(40))Saída: O valor 40 é valor positivo |
:< |
Isso alinhará à esquerda o resultado final | O espaço de 10 é adicionado usando (:<10), e o valor substituído é alinhado à esquerda.print("O valor {:<10} é valor positivo".format(40))Saída: O valor 40 é valor positivo |
Usando classe com format()
Neste exemplo, estamos criando uma classe e usando o objeto da classe dentro do método .format Python. Os placeholders se referirão a propriedades ou membros da classe usando o objeto da classe.
Exemplo:
A classe é chamada dentro do format(c=MinhaClasse()). O objeto c terá a referência às propriedades e métodos dentro da classe MinhaClasse().
class MinhaClasse:
msg1="Guru"
msg2="Tutoriais"
print("Bem-vindo a {c.msg1}99 {c.msg2}!".format(c=MinhaClasse()))
Saída:
Bem-vindo a Guru99 Tutoriais!
Usando dicionário com format()
Também é possível fazer uso de dicionário dentro do format() como mostrado no exemplo abaixo:
meu_dict = {'msg1': "Bem-vindo", 'msg2': 'Guru99'}
print("{m[msg1]} a {m[msg2]} Tutoriais!".format(m=meu_dict))
Saída:
Bem-vindo a Guru99 Tutoriais!
Preenchimento de Substituições de Variáveis
Usando o método string.format(), você pode adicionar preenchimento, espaço usando placeholders dentro da sua string.
Exemplo:
No exemplo abaixo, adicionaremos espaço dentro do Placeholder usando o format(). Para adicionar espaço, você tem que especificar o número de espaços dentro das chaves depois dos dois pontos(:). Então o Placeholder ficará como {:5}.
print("Eu tenho {:5} cachorros e {:5} gato".format(2,1))
Saída:
Eu tenho 2 cachorros e 1 gato
Você também pode dar o índice dentro do placeholder por exemplo: {0:5} onde 0 se referirá ao primeiro valor dentro do format.
print("Eu tenho {0:5} cachorros e {1:5} gato".format(2,1))
Saída:
Eu tenho 2 cachorros e 1 gato
Resumo
- A classe string do Python nos dá um comando embutido importante chamado format() que nos ajuda a substituir, substituir ou converter a string com placeholders por valores válidos na string final.
- Os placeholders dentro do módulo string Python são definidos em chaves, ex: "Bem-vindo ao Guru99 {}".format('valor aqui').
- O placeholder pode ser vazio {}, ou pode ter uma variável ex: {nome}, ou pode ter um índice numérico ex: {0}, {1} etc.
- Você pode fazer uso de Formatação de String em Python dentro de placeholders que pode ajudar a adicionar preenchimento, centralizar, e também ajudar com formatação de números.
python
- Dominando Java String.indexOf(): Localizando Substrings e Exemplos Práticos
- Dominando o Método strip() do Python: Guia Completo e Exemplos Práticos
- Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos
- Domine o Método String.find() do Python: Sintaxe, Exemplos e Alternativas
- Dominando Funções Lambda em Python: Exemplos Práticos e Boas Práticas
- Função round() em Python Explicada com Exemplos Práticos
- Dominando a Função map() do Python: Sintaxe, Exemplos e Boas Práticas
- Python timeit(): Medindo Tempo de Execução com Exemplos Práticos
- Counter do Python em collections: Contagem Eficiente, Atualização e Operações Aritméticas
- Entendendo type() e isinstance() em Python: Exemplos Práticos