Python Variables and Scope
Understanding variables and scope is fundamental to writing efficient and error-free Python code.
Python Variables
A variable is a name that refers to a value stored in memory.
x = 10
name = "Simran"Variable Types by Scope
In Python, variables have scope, which determines where they can be accessed or modified.
1. Local Variables
- Defined inside a function.
- Accessible only within that function.
def my_function():
message = "Hello"
print(message)
my_function()Output:
HelloTrying to access message outside the function will result in an error.
2. Global Variables
- Defined outside of all functions.
- Can be accessed inside functions, but not modified unless declared with
global.
name = "Simran"
def greet():
print("Hello", name)
greet()Output:
Hello Simran3. Modifying Global Variables inside a Function
count = 0
def increment():
global count
count += 1
increment()
print(count)Output:
1Explanation:
global countallows the function to change the global variablecount.
4. Enclosing (Nonlocal) Scope – Nested Functions
def outer():
msg = "Hello"
def inner():
nonlocal msg
msg = "Hi"
print("Inner:", msg)
inner()
print("Outer:", msg)
outer()Output:
Inner: Hi
Outer: HiExplanation:
nonlocal msgmodifies themsgvariable from the enclosing (outer) function.
Summary Table
| Type | Defined In | Access Scope | Keyword Used |
|---|---|---|---|
| Local | Function | Inside same function | (None) |
| Global | Script level | Everywhere | global |
| Nonlocal | Outer function | Inner functions | nonlocal |