snippetpythonCritical
How can I use a global variable in a function?
Viewed 0 times
howfunctionvariablecanglobaluse
Problem
How do I create or use a global variable inside a function?
How do I use a global variable that was defined in one function inside other functions?
Failing to use the
How do I use a global variable that was defined in one function inside other functions?
Failing to use the
global keyword where appropriate often causes UnboundLocalError. The precise rules for this are explained at UnboundLocalError on local variable when reassigned after first use. Generally, please close other questions as a duplicate of that question when an explanation is sought, and this question when someone simply needs to know the global keyword.Solution
You can use a global variable within other functions by declaring it as
Since it's unclear whether
See other answers if you want to share a global variable across modules.
global within each function that assigns a value to it:globvar = 0
def set_globvar_to_one():
global globvar # Needed to modify global copy of globvar
globvar = 1
def print_globvar():
print(globvar) # No need for global declaration to read value of globvar
set_globvar_to_one()
print_globvar() # Prints 1Since it's unclear whether
globvar = 1 is creating a local variable or changing a global variable, Python defaults to creating a local variable, and makes you explicitly choose the other behavior with the global keyword.See other answers if you want to share a global variable across modules.
Code Snippets
globvar = 0
def set_globvar_to_one():
global globvar # Needed to modify global copy of globvar
globvar = 1
def print_globvar():
print(globvar) # No need for global declaration to read value of globvar
set_globvar_to_one()
print_globvar() # Prints 1Context
Stack Overflow Q#423379, score: 5288
Revisions (0)
No revisions yet.