Uncategorized

Python – Como usar uma variável global numa função diferente da que a criou?

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:

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:

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.

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.

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.

Dr. Michael J. Garbade

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.

Recent Posts

Highest Stable Coin Yields – (W16 – 2024)

Another week to bring you the top yield platforms for three of the most prominent…

2 weeks ago

LEDU Token OTC Trading

If you hold a large volume of LEDU tokens above 1 million units and wish…

1 month ago

Highest Stable Coin Yields – (W12 – 2024)

It’s another week and like always we have to explore the top yield platforms for…

1 month ago

Binance Auto Invest – the Best Innovation in Crypto since Sliced Bread

At a time where we’re constantly seeking tools and strategies to simplify our crypto investments,…

1 month ago

Highest Stable Coin Yields – March 2024

As we kick off another week, it's time to explore the top yield platforms for…

2 months ago

Education Ecosystem Featured on Business Insider

We're excited to share that Education Ecosystem was recently featured in an article on Business…

2 months ago