O escopo de uma variável se refere ao local onde uma variável é definida e onde ela pode ser acessada. Em Python, existem quatro tipos de escopos: local, enclosing, global e built-in.
Escopo Local: Uma variável definida dentro de uma função é chamada de variável local. Ela só pode ser acessada dentro dessa função.
def funcao():
x = 10 # Variável local
print(x)
funcao() # Saída: 10
print(x) # Erro: x não está definido
Escopo Enclosing: Se uma função está dentro de outra função (função aninhada), a função interna tem acesso às variáveis da função externa. Este é o escopo enclosing.
def funcao_externa():
x = 10 # Variável da função externa
def funcao_interna():
print(x) # Acesso à variável da função externa
funcao_interna() # Saída: 10
funcao_externa()
Escopo Global: Uma variável definida fora de todas as funções é uma variável global e pode ser acessada em qualquer lugar do programa.
x = 10 # Variável global
def funcao():
print(x) # Acesso à variável global
funcao() # Saída: 10
print(x) # Saída: 10
Escopo Built-in: São nomes pré-definidos no módulo builtins do Python. Eles são sempre acessíveis.
print(len('Python')) # len é uma função built-in
Lembre-se, Python segue a regra LEGB para resolver os nomes das variáveis. Primeiro, verifica o escopo Local, depois o Enclosing, depois o Global e finalmente o Built-in.
Espero que este artigo tenha ajudado a entender melhor o conceito de escopos de variáveis em Python! Continue codando e explorando!