2
respostas

Uso do for nome_do_restaurante, dados in dados_restaurantes.items()

Boa tarde, pessoal.

Para mim, ficou muito apressada a explicação deste trecho de código e acabou que não entendi nem o conceito por trás disso. Quando se usa um for seguido de duas variáveis (nome_do_restaurante e dados)?

A parte de criar arquivos também achei extremamente apressada, apenas jogando os códigos como se fosse algo de conhecimento de todos.

2 respostas

Oi, Rodrigo! Tudo bem?

Em relação à estrutura for nome_do_restaurante, dados in dados_restaurante.items():

Essa estrutura é usada quando queremos iterar sobre um dicionário em Python. O método .items() retorna uma lista de tuplas, onde cada tupla é composta por um par (chave, valor). Assim, quando fazemos for nome_do_restaurante, dados in dados_restaurante.items(), estamos basicamente dizendo "para cada par (chave, valor) no dicionário dados_restaurante, atribua a chave à variável nome_do_restaurante e o valor à variável dados".

Por exemplo, se tivermos um dicionário dados_restaurante = {'Burguer King': {'item': 'Whopper', 'price': 46.35}}, na primeira (e única, neste caso) iteração do loop, nome_do_restaurante será 'Burguer King' e dados será {'item': 'Whopper', 'price': 46.35}.

Em relação à criação de arquivos, o Python oferece uma forma bastante simples de fazer isso. No trecho de código:

nome_do_arquivo = f'{nome_do_restaurante}.json'
with open(nome_do_arquivo,'w') as arquivo_restaurante:
    json.dump(dados,arquivo_restaurante,indent=4)

Estamos fazendo o seguinte:

  1. Definindo o nome do arquivo como o nome do restaurante (obtido no loop for) com a extensão .json (por exemplo, 'Burguer King.json').
  2. Usando a instrução with open(nome_do_arquivo,'w') as arquivo_restaurante: para abrir (ou criar, se não existir) um arquivo com o nome definido anteriormente, no modo de escrita ('w' vem de 'write'). A vantagem de usar with é que ele cuida automaticamente do fechamento do arquivo após as operações, mesmo se ocorrer algum erro durante a escrita.
  3. Usando json.dump(dados,arquivo_restaurante,indent=4) para escrever os dados (obtidos no loop for) no arquivo, em formato JSON. O parâmetro indent=4 é usado para formatar o JSON de uma forma mais legível, com 4 espaços de indentação.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

Concordo com o Rodrigo, não entendi muito bem a explicação na hora do vídeo, porém, com sua explicação, Sarah, ficou claro e entendido. Obrigado.