Dentro do Python, como linguagem de programação, temos diferentes tipos de variáveis. Neste artigo vamos dar uma breve explicação de cada uma delas e mostrar como utilizar uma variável global dentro de uma função.
Python – Como usar uma variável global numa função diferente da que a criou?
- Definição de variável global no Python
- Definição de variável local no Python
- Utilizando uma variável global dentro de uma função
Definição de variável global no Python
Uma variável global é aquela que não foi definida dentro do escopo da função que a está utilizando. Como, por exemplo:
1 2 3 |
variable_global = 0 x = 42 v = 1 |
Definição de variável local no Python
Quando você define o valor da variável dentro da função, ela é uma variável local. Um exemplo de variável local é mostrado abaixo:
1 2 3 |
def f(): v = 10 print v |
Esta variável local só pode ser utilizada depois que foi definida dentro da função. Caso tente utilizá-la antes de ser declarada dentro do código, uma mensagem de erro acontecerá:
1 2 3 4 |
def f(): print v v = 10 UnboundLocalError: local variable 'v' referenced before assignment. |
Utilizando uma variável global dentro de uma função:
Para se utilizar uma variável global dentro de uma função, é necessário declará-la como global dentro dessa função.
1 2 3 4 |
v = 1 def f(): global v print v |
Este código acima permitiria você utilizar o valor da global dentro da função, sem efetivamente ter que declarar este valor dentro da função. Uma diferença entre a variável global e a local no Python é que a variável global pode ser declarada depois da função que a utilizará, sem que ocorra um erro semelhante ao descrito acima. Isto pode ser visto no exemplo abaixo:
1 2 3 4 |
def f(): print x x = 42 ‘42’ |
Você pode declarar um valor para a variável global dentro da função. Isto faz com que o valor desta variável assuma o valor escrito dentro da função, deste ponto em diante dentro do código.
1 2 3 4 5 6 |
x = 3 def func(): global x x = 1 print x ‘1’ |
Atenção: Muito cuidado ao realizar esta operação, pois o controle das alterações de valor fica muito complexo.
Caso você conheça mais alguma forma de utilizar uma variável global dentro de uma função, compartilhe na área de comentários abaixo.
Agora que você descobriu a resposta para esta pergunta, e quiser explorar outras questões, pode conferir nossos vídeos sobre Python.