Bird
Raised Fist0
Pythonprogramming~5 mins

Local scope in Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is local scope in Python?
Local scope refers to variables that are created inside a function and can only be used within that function.
Click to reveal answer
beginner
Where can a variable defined inside a function be accessed?
A variable defined inside a function can only be accessed inside that same function, not outside it.
Click to reveal answer
beginner
What happens if you try to use a local variable outside its function?
You get an error because the variable does not exist outside the function's local scope.
Click to reveal answer
beginner
Example: What will this code print?
def greet():
    message = 'Hello!'
    print(message)
greet()
It will print: Hello! because 'message' is defined and used inside the function greet.
Click to reveal answer
beginner
Can a local variable be accessed by another function?
No, each function has its own local scope. Variables inside one function are not visible to others.
Click to reveal answer
Where is a local variable created?
AOutside any function
BIn the global space
CInside a function
DIn a class
What happens if you try to print a local variable outside its function?
AIt causes an error
BIt prints None
CIt prints the value
DIt prints the variable name
Which of these is true about local scope?
ALocal variables can be used anywhere in the program
BLocal variables are shared between functions
CLocal variables are global
DLocal variables exist only inside their function
If a variable is defined inside a function, can another function access it directly?
AYes, always
BOnly if passed as an argument
CNo, never
DOnly if declared global
What keyword is used to access a global variable inside a function?
Aglobal
Blocal
Cscope
Ddef
Explain what local scope means in Python and why it is important.
Think about where variables live and who can use them.
You got /4 concepts.
    Describe what happens if you try to use a local variable outside its function.
    Consider what Python does when it can't find a variable.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does local scope mean in Python?
      easy
      A. Variables can be used anywhere in the program
      B. Variables exist only inside the function where they are created
      C. Variables are shared between all functions
      D. Variables are stored permanently on the disk

      Solution

      1. Step 1: Understand the meaning of local scope

        Local scope means a variable is created inside a function and only exists there.
      2. Step 2: Compare options with this meaning

        Only Variables exist only inside the function where they are created correctly states that variables exist only inside their function.
      3. Final Answer:

        Variables exist only inside the function where they are created -> Option B
      4. Quick Check:

        Local scope = variables inside function only [OK]
      Hint: Local variables live only inside their function [OK]
      Common Mistakes:
      • Thinking local variables can be used outside the function
      • Confusing local scope with global scope
      • Believing variables are shared across functions
      2. Which of the following is the correct way to define a local variable inside a function?
      easy
      A. def func(): x = 5
      B. x = 5 def func(): print(x)
      C. def func(): global x x = 5
      D. def func(): return x

      Solution

      1. Step 1: Identify local variable definition

        A local variable is created by assigning a value inside a function without global keyword.
      2. Step 2: Check each option

        def func(): x = 5 assigns x inside the function, making it local. Others either use global or no assignment inside function.
      3. Final Answer:

        def func():\n x = 5 -> Option A
      4. Quick Check:

        Assign inside function = local variable [OK]
      Hint: Assign variable inside function without global for local [OK]
      Common Mistakes:
      • Using global keyword when not needed
      • Assigning variable outside function expecting it local
      • Trying to return variable not defined inside function
      3. What will be the output of this code?
      def greet():
          message = "Hello"
          print(message)
      
      greet()
      print(message)
      medium
      A. Hello NameError
      B. Hello Hello
      C. NameError Hello
      D. NameError NameError

      Solution

      1. Step 1: Understand variable scope in the code

        Variable 'message' is defined inside greet(), so it is local to that function.
      2. Step 2: Trace the print statements

        Calling greet() prints 'Hello'. Then print(message) outside function causes NameError because 'message' is not defined globally.
      3. Final Answer:

        Hello\nNameError -> Option A
      4. Quick Check:

        Local variable outside function causes NameError [OK]
      Hint: Local variables can't be printed outside their function [OK]
      Common Mistakes:
      • Assuming local variable is accessible globally
      • Expecting both prints to show 'Hello'
      • Ignoring NameError on second print
      4. Find the error in this code and fix it:
      def add():
          result = a + b
          print(result)
      
      add()
      Assuming a = 2 and b = 3 are defined outside the function.
      medium
      A. Add 'global a, b' inside add()
      B. No error, code runs fine
      C. Define a and b inside add()
      D. Pass a and b as parameters to add()

      Solution

      1. Step 1: Identify variable scope issue

        a and b are defined outside but used inside add() without global or parameters, causing NameError.
      2. Step 2: Fix by passing variables as parameters

        Passing a and b as parameters to add() allows access without global keyword.
      3. Final Answer:

        Pass a and b as parameters to add() -> Option D
      4. Quick Check:

        Use parameters to access outside variables inside function [OK]
      Hint: Pass outside variables as parameters to use inside function [OK]
      Common Mistakes:
      • Using global keyword unnecessarily
      • Defining variables inside function losing outside values
      • Ignoring NameError from missing variables
      5. How can you modify this code to keep track of how many times count_calls() is called, using local scope only?
      def count_calls():
          calls = 0
          calls += 1
          print(f"Called {calls} times")
      
      count_calls()
      count_calls()
      hard
      A. Declare calls as global variable
      B. Define calls outside function and modify inside
      C. Use a default argument to store calls count
      D. Use a class to store calls count

      Solution

      1. Step 1: Understand why calls resets

        Variable calls is local and resets to 0 each call, so count never increases.
      2. Step 2: Use default argument to keep state locally

        Using a default argument like calls=[0] keeps count inside function without global or external variables.
      3. Final Answer:

        Use a default argument to store calls count -> Option C
      4. Quick Check:

        Default argument keeps local state across calls [OK]
      Hint: Use default mutable argument to keep count inside function [OK]
      Common Mistakes:
      • Using global variable instead of local trick
      • Defining calls outside function losing local scope
      • Not realizing local variables reset each call