Não entendi muito bem o porque que o dicionário 'dados_restaurante' foi printado no escopo global, visto que ele está definido dentro do primeiro If.
Não entendi muito bem o porque que o dicionário 'dados_restaurante' foi printado no escopo global, visto que ele está definido dentro do primeiro If.
Olá, Larissa!
Em Python, quando você define uma variável dentro de um bloco de código (como um if), essa variável é acessível fora desse bloco. Isso ocorre porque Python usa o escopo de função, não o escopo de bloco. Isso significa que as variáveis definidas dentro de uma função são acessíveis em qualquer lugar dentro dessa função, mas não fora dela.
No seu caso, o dicionário dados_restaurante é definido dentro de um bloco if, mas ainda está dentro da mesma função ou do mesmo escopo global, então ele pode ser acessado fora do if.
Aqui está um exemplo para ilustrar isso:
if True:
x = 10
print(x) # Isso irá imprimir 10
Neste exemplo, x é definido dentro do bloco if, mas ainda pode ser acessado fora dele.
Espero que isso esclareça sua dúvida! Se você tiver mais perguntas, fique à vontade para perguntar.
Entendido, obrigada!