Introduction to global Keyword
In Python, global keyword allows you to modify the variable outside of the current scope. It is used to create a global variable and make changes to the variable in a local context.
Rules of global Keyword
The basic rules for global keyword in Python are:
• When we create a variable inside a function, it’s local by default.
• When we define a variable outside of a function, it’s global by default. You don’t have to use global keyword.
• We use global keyword to read and write a global variable inside a function.
• Use of global keyword outside a function has no effect
Accessing global Variable From Inside a Function
c=100 #global variable def sample(): print(c) #function calling sample() print(c)
However, if we try to modify the global variable from inside a function, we get an error as shown in the below program.
Modifying Global Variable From Inside the Function
c=100 #global variable def sample(): c=c+10 print(c) #function calling sample() print(c)
When we run above program, the output shows an error:
UnboundLocalError: local variable ‘c’ referenced before assignment
Note: This is because we can only access the global variable but cannot modify it from inside the function.
The solution for this is to use the global keyword.
Changing Global Variable From Inside a Function using global
c = 100 # global variable def abc(): global c c = c + 200 # increment by 200 print("Inside abc():", c) #function calling print("Outside Function abc() :", c) add() print("Outside Function abc() :", c)
Outside Function abc() : 100
Inside add(): 300
Outside Function abc() : 300
In the above program we have
It states that c is a global variable and its value can be modified inside the function abc().
so when we increment the variable c by 200, i.e c = c + 200. we get the modified value as output.
As we can see, change also occurred on the global variable outside the function, c = 300.