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.
Uma variável global é aquela que não foi definida dentro do escopo da função que a está utilizando. Como, por exemplo:
variable_global = 0 x = 42 v = 1
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:
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á:
def f(): print v v = 10 UnboundLocalError: local variable 'v' referenced before assignment.
Para se utilizar uma variável global dentro de uma função, é necessário declará-la como global dentro dessa função.
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:
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.
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.
In 2024 we're witnessing a critical point in democratic technology: the integration of blockchain and…
We’re thrilled to announce an exciting opportunity for you to win not one but two…
Acquiring practical skills is crucial for career advancement and personal growth. Education Ecosystem stands out…
Artificial Intelligence (AI) has been making significant strides in various industries, and the software development…
Another week to bring you the top yield platforms for three of the most prominent…
If you hold a large volume of LEDU tokens above 1 million units and wish…