Lecture

Variable Scope and Nested Functions

In Python, where a variable is defined determines where it can be accessed — this is called scope.
Functions can also be nested, meaning one function can exist inside another.

Let’s explore both.


1. Local vs Global Scope

Variables defined inside a function are local — they only exist while the function runs.
Variables defined outside any function are global and can be used throughout the script.

message = "Hello from global scope" def show_message(): message = "Hello from local scope" print(message) show_message() print(message)

Explanation:

  • Inside the function, a new message variable is created.
  • The global variable is unaffected.

2. Using global Keyword

To modify a global variable inside a function, use the global keyword.

counter = 0 def increase(): global counter counter += 1 increase() print("Counter:", counter)

Explanation:

  • Without global, Python treats counter as a new local variable.
  • With global, it updates the variable outside the function.

3. Nested Functions

A function can be defined inside another function. The inner function is local to the outer one.

def outer(): print("Outer function") def inner(): print("Inner function") inner() outer()

Explanation:

  • inner() can only be called inside outer().
  • Useful for organizing logic and encapsulating behavior.

Summary

ConceptDescription
Local ScopeVariables inside a function
Global ScopeVariables outside all functions
global keywordAllows modifying global variables inside functions
Nested FunctionsFunctions defined inside other functions

What’s Next?

Next, you’ll learn how to handle errors gracefully using try, except, and related tools.

Lecture

AI Tutor

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result