Destaque o Escopo
Clique em cada variável usada (não na definição) no código abaixo para identificá-la como Global (definida fora de qualquer função) ou Local (definida dentro de uma função). Abstração: O escopo ajuda a esconder detalhes internos das funções.
global_var = 100 # Variável Global def my_function(param_var): local_var = 50 # Variável Local result = local_var + param_var print(global_var) # Usando global dentro da função return result output = my_function(10) print(global_var) # Usando global fora da função print(output) # Usando a variável que recebeu o retorno # print(local_var) # Isto causaria um erro! (NameError)
Identifique todas as 6 variáveis usadas!
Preveja a Saída
Olhe o código abaixo. Variáveis com o mesmo nome em escopos diferentes são distintas! O que você acha que será impresso? Digite sua previsão e clique em "Executar & Comparar". Depuração: Prever a saída antes de executar ajuda a encontrar bugs relacionados ao entendimento do escopo.
x = "global" def outer_func(): x = "outer local" def inner_func(): x = "inner local" print("Dentro da inner_func, x é:", x) # Deve imprimir 'inner local' inner_func() print("Dentro da outer_func, x é:", x) # Deve imprimir 'outer local' outer_func() print("Fora de tudo, x é:", x) # Deve imprimir 'global'
Depure o Escopo
O código abaixo tenta modificar uma variável global de dentro de uma função, mas causa um erro (`UnboundLocalError`). Corrija o código no editor para que ele incremente corretamente a variável global `counter` e imprima o valor `1`. Depuração: Entender erros como `UnboundLocalError` é crucial para corrigir problemas de escopo.
Módulo 19 Prática Completa!
Excelente trabalho navegando pelos escopos local e global! Você está entendendo como Python organiza e acessa variáveis.
Lembre-se: o escopo ajuda a evitar conflitos de nomes e suporta a Abstração, escondendo detalhes internos. A Depuração de erros de escopo é uma habilidade chave!
Pronto para a Prática Avançada do Módulo 19?