Pular para o conteúdo principal

Como Passar um Dicionário para `str.format()` em Python

Em Python, o método str.format() nos permite inserir valores em uma string usando espaços reservados. Esses espaços reservados são representados por chaves {} e podem ser substituídos pelos valores desejados. Podemos passar um dicionário como argumento para o str.format() para substituir vários espaços reservados por pares de chave-valor do dicionário.

Aqui está um tutorial passo a passo sobre como passar um dicionário para str.format() em Python:

Passo 1: Criar um Dicionário

Primeiro, crie um dicionário com os valores que você deseja inserir na string. O dicionário deve consistir em pares de chave-valor, onde as chaves representam os espaços reservados na string.

dados = {
'nome': 'João',
'idade': 25,
'país': 'EUA'
}

Neste exemplo, temos um dicionário chamado dados com três chaves: 'nome', 'idade' e 'país'.

Passo 2: Definir a String

Em seguida, defina a string onde você deseja inserir os valores do dicionário. Os espaços reservados para as chaves do dicionário devem ser incluídos usando chaves {}.

mensagem = "Meu nome é {nome}, tenho {idade} anos e moro nos {país}."

Definimos uma string chamada mensagem com três espaços reservados: {nome}, {idade} e {país}.

Passo 3: Passar o Dicionário para str.format()

Para passar o dicionário para str.format(), chame o método format() na string e passe o dicionário como argumento.

mensagem_formatada = mensagem.format(**dados)

A sintaxe **dados é usada para desempacotar o dicionário e passar seus pares de chave-valor como argumentos de palavra-chave para o método format().

Passo 4: Imprimir ou Usar a String Formatada

Por fim, você pode imprimir ou usar a string formatada como desejar. Os espaços reservados na string serão substituídos pelos valores correspondentes do dicionário.

print(mensagem_formatada)

A saída será:

Meu nome é João, tenho 25 anos e moro nos EUA.

Exemplos Adicionais

Exemplo 1: Valores Numéricos

dados = {
'num1': 10,
'num2': 5,
'soma': 15
}

mensagem = "A soma de {num1} e {num2} é {soma}."

mensagem_formatada = mensagem.format(**dados)
print(mensagem_formatada)

Saída:

A soma de 10 e 5 é 15.

Exemplo 2: Valores de Data

dados = {
'dia': 12,
'mês': 'outubro',
'ano': 2022
}

mensagem = "Hoje é {dia} de {mês}, {ano}."

mensagem_formatada = mensagem.format(**dados)
print(mensagem_formatada)

Saída:

Hoje é 12 de outubro, 2022.

Exemplo 3: Valores Booleanos

dados = {
'está_ensolarado': True,
'está_chovendo': False
}

mensagem = "Está ensolarado? {está_ensolarado}. Está chovendo? {está_chovendo}."

mensagem_formatada = mensagem.format(**dados)
print(mensagem_formatada)

Saída:

Está ensolarado? True. Está chovendo? False.

Seguindo esses passos e exemplos, você pode facilmente passar um dicionário para str.format() em Python e inserir valores dinamicamente em suas strings.