Escopo em Python
- Página Anterior Iteração em Python
- Próxima Página Módulos em Python
Variáveis estão disponíveis apenas na área onde foram criadas. Isso é conhecido como escopo.
Escopo local
Variáveis criadas dentro de uma função pertencem ao escopo local dessa função e podem ser usadas apenas dentro dessa função.
Exemplo
Variáveis criadas dentro de uma função são acessíveis apenas dentro dessa função:
def myfunc(): x = 100 print(x) myfunc()
Função Interna
Como mostrado no exemplo acima, a variável x não está disponível fora da função, mas está disponível para qualquer função interna dentro da função:
Exemplo
É possível acessar uma variável local dentro de uma função aninhada:
def myfunc(): x = 100 def myinnerfunc(): print(x) myinnerfunc() myfunc()
Escopo Global
As variáveis criadas no corpo do código Python são variáveis globais, pertencendo ao escopo global.
As variáveis globais estão disponíveis em qualquer escopo (global e local).
Exemplo
As variáveis criadas fora da função são variáveis globais, disponíveis para qualquer pessoa:
x = 100 def myfunc(): print(x) myfunc() print(x)
Nomear Variáveis
Se operar a mesma variável dentro e fora da função, o Python as considerará duas variáveis separadas, uma disponível no escopo global (fora da função) e outra disponível no escopo local (dentro da função):
Exemplo
Esta função imprimirá a variável local x e, em seguida, o código também imprimirá a variável global x:
x = 100 def myfunc(): x = 200 print(x) myfunc() print(x)
Palavra-chave Global
Se você precisar criar uma variável global, mas estiver preso no escopo local, você pode usar a palavra-chave global.
A palavra-chave global torna a variável uma variável global.
Exemplo
Se você usar a palavra-chave global, a variável pertence ao escopo global:
def myfunc(): global x x = 100 myfunc() print(x)
Além disso, se você precisar alterar uma variável global dentro de uma função, também use a palavra-chave global.
Exemplo
Para alterar o valor de uma variável global dentro de uma função, use a palavra-chave global para referenciar essa variável:
x = 100 def myfunc(): global x x = 200 myfunc() print(x)
- Página Anterior Iteração em Python
- Próxima Página Módulos em Python