Python Local and Global Variables – We can define the scope of the variable as the extent of the program within which we can access the variable. In this tutorial, we will cover the Local variable in Python and Global Variable in Python. We will also discuss the scope of a local and global variable in Python and how to use global variables inside the local scope.
In Python, there are two primary variable scopes:
- Local variable in Python
- Global variable in Python
Table of Contents
Global Variable in Python
Global Variable in Python – Variables created outside the function are called global variables. Anyone can access the global variable, both inside and outside of a function. Below is the program for the global variable in python.
#variable defined in global scope var='Hello world' #function accessing the global variable def my_function(): print(var) #calling the function my_function()
Here we create a variable called ‘var’ and assign a value ‘Hello world’ to it. We are defining the variable ‘var’ outside the function ‘my_function’. When we call the function, it prints the value of the variable ‘var’. Since we don’t have another variable with the same name defined anywhere inside the function, the global variable is getting printed.
Local Variable in Python
The variable defined inside the function is called the local variable. We can access the local variable only inside the function. Below is the program for local variable in python.
def my_function(): #variable defined in local scope var='Hello world' print(var) #calling the function my_function()
What happens when we try to print the variable outside the function?
>>> var Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'var' is not defined >>>
When we try to access the local variable outside of the function, it throws an error.
Scope of Local and Global variables
Let’s say we define a variable with the same name both inside and outside the function. Then inside the function, the variable defined in local scope is given priority over the variable defined in the global scope.
var='global scope' def my_function(): var='local scope' print(var) my_function() print(var)
The output will be:
local scope global scope
Using global variables inside the local scope
Even though we define the variable with the same name inside and outside the function, by changing the value of the variable in the local scope doesn’t affect the value of the variable in the global scope. What if you want to change the value of the global variable inside the function.
Inside the function, we have to use the keyword ‘global’ before a variable so that we can change the variable at the global level.
var='global scope' def my_function(): global var print(var) var='local scope' my_function() print(var)
And the output is:
global scope local scope
Inside the function, we are mentioning that the variable is a global variable. We are changing the value of the variable inside the function, and when we print the variable outside the function, it displays the changed value. This is how we change the value of a global variable inside the function.
Appendix
In the official documentation, you can find more information on rules for local and global variables.
Conclusion
We have covered Python Local and Global Variables in detail. We have also discussed the scope of local and global variables and how to use global variables inside the local scope.