Bird
Raised Fist0
Pythonprogramming~5 mins

Global keyword 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 does the global keyword do in Python?
The global keyword tells Python that a variable inside a function refers to the variable defined outside the function, at the global level. It allows you to change the global variable from inside the function.
Click to reveal answer
beginner
Why do you need the global keyword to modify a global variable inside a function?
Without global, Python treats variables assigned inside a function as local. Using global tells Python to use the variable from outside the function, so changes affect the global variable.
Click to reveal answer
beginner
What happens if you try to modify a global variable inside a function without using global?
Python creates a new local variable with the same name inside the function. The global variable remains unchanged outside the function.
Click to reveal answer
beginner
Show a simple example of using global to change a global variable inside a function.
Example:
count = 0

def increment():
    global count
    count += 1

increment()
print(count)  # Output: 1
Click to reveal answer
intermediate
Can the global keyword be used to create a new global variable inside a function?
Yes. If the global variable does not exist yet, using global inside a function and assigning a value will create it at the global level.
Click to reveal answer
What does the global keyword do inside a function?
AAllows modifying a variable defined outside the function
BCreates a new local variable
CDeletes a global variable
DImports a module globally
What happens if you assign a value to a variable inside a function without using global?
AThe variable becomes read-only
BThe global variable is changed
CPython throws an error
DA new local variable is created
Which keyword do you use to tell Python to use the global variable inside a function?
Alocal
Bextern
Cglobal
Dnonlocal
Can you create a new global variable inside a function using global?
AYes, by declaring it global and assigning a value
BNo, global variables must be defined outside functions
COnly if the variable name starts with 'g_'
DOnly in Python 2
What will this code print?
count = 5
def change():
    count = 10
change()
print(count)
A10
B5
CError
DNone
Explain how the global keyword affects variable scope inside a function.
Think about how Python treats variables inside functions by default.
You got /4 concepts.
    Describe a situation where you would need to use the global keyword in your code.
    Consider when a function needs to update a value defined outside it.
    You got /4 concepts.

      Practice

      (1/5)
      1.

      What does the global keyword do in Python?

      easy
      A. It creates a new local variable inside a function.
      B. It allows a function to modify a variable defined outside it.
      C. It deletes a variable from the global scope.
      D. It imports a module globally.

      Solution

      1. Step 1: Understand variable scopes

        Variables defined outside functions are global, inside functions are local by default.
      2. Step 2: Role of global keyword

        The global keyword tells Python to use the global variable inside the function, allowing modification.
      3. Final Answer:

        It allows a function to modify a variable defined outside it. -> Option B
      4. Quick Check:

        global lets function change outside variable [OK]
      Hint: Global lets functions change outside variables directly [OK]
      Common Mistakes:
      • Thinking global creates new local variables
      • Confusing global with import statements
      • Assuming global deletes variables
      2.

      Which of the following is the correct way to modify a global variable count inside a function?

      count = 0
      def increment():
          ?
          count += 1
      easy
      A. def count
      B. local count
      C. global count
      D. nonlocal count

      Solution

      1. Step 1: Identify the need to modify global variable

        The function wants to increase the global variable count.
      2. Step 2: Use correct keyword to access global variable

        Using global count inside the function tells Python to use the global count, not create a local one.
      3. Final Answer:

        global count -> Option C
      4. Quick Check:

        Use 'global' to modify global variables inside functions [OK]
      Hint: Use 'global' before variable to modify it inside function [OK]
      Common Mistakes:
      • Using 'local' which is not a Python keyword
      • Using 'nonlocal' which applies to enclosing functions, not globals
      • Trying to define variable with 'def'
      3.

      What is the output of this code?

      value = 5
      def change():
          global value
          value = 10
      change()
      print(value)
      medium
      A. 5
      B. Error
      C. None
      D. 10

      Solution

      1. Step 1: Analyze the function change()

        The function declares value as global and sets it to 10.
      2. Step 2: Effect of calling change()

        Calling change() updates the global value from 5 to 10.
      3. Final Answer:

        10 -> Option D
      4. Quick Check:

        global lets function update outside variable [OK]
      Hint: global changes outside variable, so print shows updated value [OK]
      Common Mistakes:
      • Thinking print shows original value 5
      • Expecting an error without global keyword
      • Confusing local and global scopes
      4.

      Find the error in this code and choose the fix:

      counter = 0
      def add():
          counter += 1
      add()
      print(counter)
      medium
      A. Add global counter inside add() before incrementing.
      B. Change counter to a local variable inside add().
      C. Remove the increment line counter += 1.
      D. Define counter inside add() without global.

      Solution

      1. Step 1: Identify the error cause

        Trying to increment counter inside add() without declaring it global causes UnboundLocalError.
      2. Step 2: Fix by declaring global variable

        Adding global counter inside add() tells Python to use the global counter variable.
      3. Final Answer:

        Add global counter inside add() before incrementing. -> Option A
      4. Quick Check:

        Declare global to modify outside variable inside function [OK]
      Hint: Declare global before modifying global variable inside function [OK]
      Common Mistakes:
      • Ignoring the need for global declaration
      • Trying to create local variable with same name
      • Removing increment instead of fixing scope
      5.

      You want to count how many times a function is called using a global variable calls. Which code correctly updates calls each time track() runs?

      calls = 0
      def track():
          ?
          calls += 1
      
      track()
      track()
      print(calls)
      hard
      A. global calls
      B. nonlocal calls
      C. local calls
      D. calls = 0

      Solution

      1. Step 1: Understand the goal

        We want to update the global variable calls inside the function track().
      2. Step 2: Use the correct keyword

        Using global calls inside track() allows incrementing the global calls variable.
      3. Step 3: Confirm output

        Calling track() twice increments calls from 0 to 2, so print(calls) outputs 2.
      4. Final Answer:

        global calls -> Option A
      5. Quick Check:

        Use global to update global counter inside function [OK]
      Hint: Use 'global' to update global counter inside function [OK]
      Common Mistakes:
      • Using 'nonlocal' which is for nested functions
      • Trying to assign local variable without global
      • Resetting calls inside function