TL;DR – Python global variables are declared outside a function and can be accessed anywhere in the code.
The difference between local and global variables in Python
In the example below, you can see two variables declared –
def f(): bit = "BitDegree" print (bit) f() bdg = "BitDegree" print (bdg)
While both have the same value assigned, they are declared and used differently:
bitis declared within the function. This makes it a local variable. Its scope is the body of the function – it cannot be used anywhere else.
bdgis declared outside of the function – this makes it global. You can use Python global variables anywhere in the code.
Theory is great, but we recommend digging deeper!
How to use global variables in Python
When declaring global variables in Python, you can use the same names you have already used for local variables in the same code – this will not cause any issues because of the scope difference:
- If you use the variable within the function, it will prefer the local variable by default:
- If you use the variable anywhere else in the code, you will get the value of the global variable:
pizza = "Pepperoni" def f(): pizza = "Hawaii" print (pizza) f()
pizza = "Pepperoni" def f(): pizza = "Hawaii" print (pizza)
You can also create local variables by modifying previously defined Python global variables inside the function by using the keyword
bdg = 1000 def f(): global bdg bdg = bdg + 500
Python global variables: useful tips
- You can change the value of a Python global variable by simply assigning it a new value (redeclaring).
- To delete a variable, use the keyword
del. Trying to use a deleted variable will cause an error to fire.