Scope determines where a variable can be accessed.
Variables created inside a function are local:
def my_function():
x = 10 # Local variable
print(x)
my_function() # Works: 10
print(x) # Error! x doesn't exist here
Variables created outside functions are global:
message = "Hello" # Global
def greet():
print(message) # Can read global
greet() # Works: Hello
Use
global keyword to modify a global variable:
count = 0
def increment():
global count
count += 1
increment()
print(count) # 1
Best Practice: Avoid global variables when possible. Use parameters and return values instead.
Interactive Visualization