Introduction to Variable Scope in Python
This article explains Python's four variable scope types—local, enclosing, global, and built‑in—through clear descriptions and runnable code examples that illustrate how each scope affects variable accessibility and program behavior.
In Python, a variable's scope determines where it can be accessed, and there are four main scope types: local, enclosing, global, and built‑in.
1. Local Scope
def local_scope(): x = 10 print(x) # Output: 10 local_scope() print(x) # Error: NameError: name 'x' is not defined2. Global Scope
y = 20 def global_scope(): print(y) # Output: 20 global_scope() print(y) # Output: 203. Modifying Global Variables
z = 30 def modify_global(): global z z = 40 print(z) # Output: 40 modify_global() print(z) # Output: 404. Enclosing (Non‑local) Scope
def outer(): a = 50 def inner(): nonlocal a a = 60 print(a) # Output: 60 inner() print(a) # Output: 60 outer()5. Built‑in Scope
def built_in_scope(): print(len("hello")) # Output: 5 built_in_scope()6. Local vs Global Name Collision
b = 70 def shadow_variable(): b = 80 print(b) # Output: 80 shadow_variable() print(b) # Output: 707. Nested Function Local Variable
def outer_function(): c = 90 def inner_function(): c = 100 print(c) # Output: 100 inner_function() print(c) # Output: 90 outer_function()8. Using globals() Function
d = 110 def use_globals(): print(globals()['d']) # Output: 110 use_globals()9. Function Parameter vs Local Variable
def func_param(e): e = 120 print(e) # Output: 120 func_param(130)10. Default Parameter Value with Global Variable
f = 140 def default_param(g=f): print(g) # Output: 140 default_param()Understanding these scope rules helps write more efficient and error‑free Python code.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
