Lecture

Handling UnboundLocalError

UnboundLocalError is an exception that occurs when you try to reference a local variable that has not yet been assigned.

In Python, a variable declared inside a function is considered a local variable. Even if a variable with the same name is declared outside the function, it is considered a local variable within the function.


UnboundLocalError Example
counter = 0 # Global variable def increase_counter(): # UnboundLocalError occurs counter += 1 return counter print(increase_counter())

In the example above, the counter global variable declared outside the function and the counter local variable inside the increase_counter function are recognized as different variables.

Therefore, when attempting to reference the counter variable inside the function, an UnboundLocalError exception occurs because the variable has not yet been assigned.


To use the counter variable as a global variable in this example, you should use the global keyword.

Solution to UnboundLocalError
counter = 0 # Global variable def increase_counter(): # Use as a global variable global counter counter += 1 return counter print(increase_counter())

In the code above, the global keyword is used to declare the counter variable inside the increase_counter function as a global variable.


How can you handle the UnboundLocalError exception?

One of the most common ways to handle an UnboundLocalError exception is to use a try-except block.

Handling UnboundLocalError
counter = 0 # Global variable def increase_counter(): try: counter += 1 except UnboundLocalError as e: print(f'UnboundLocalError occurred: {e}') return counter print(increase_counter())

In the code above, when an UnboundLocalError exception occurs while referencing the counter variable inside the increase_counter function, the except block handles the exception and prints a message.

The UnboundLocalError exception often occurs due to confusion between global and local variables, so be careful when referencing variables inside functions.

Mission
0 / 1

UnboundLocalError occurs when a function references a local variable that is not initialized.

O
X

Lecture

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result