Featured Post

SQL Interview Success: Unlocking the Top 5 Frequently Asked Queries

Image
 Here are the five top commonly asked SQL queries in the interviews. These you can expect in Data Analyst, or, Data Engineer interviews. Top SQL Queries for Interviews 01. Joins The commonly asked question pertains to providing two tables, determining the number of rows that will return on various join types, and the resultant. Table1 -------- id ---- 1 1 2 3 Table2 -------- id ---- 1 3 1 NULL Output ------- Inner join --------------- 5 rows will return The result will be: =============== 1  1 1   1 1   1 1    1 3    3 02. Substring and Concat Here, we need to write an SQL query to make the upper case of the first letter and the small case of the remaining letter. Table1 ------ ename ===== raJu venKat kRIshna Solution: ========== SELECT CONCAT(UPPER(SUBSTRING(name, 1, 1)), LOWER(SUBSTRING(name, 2))) AS capitalized_name FROM Table1; 03. Case statement SQL Query ========= SELECT Code1, Code2,      CASE         WHEN Code1 = 'A' AND Code2 = 'AA' THEN "A" | "A

The Quick and Easy Way to Fix Python UnboundLocalError

Here is the easy way to fix the issue of the Python UnboundLocalError, allowing users to resolve any problems quickly.


UnboundLocalError



Python UnboundLocalError

While the variable in the function has already been defined, during execution, the result prints with an error of UnboundLocalError. Below, you will find an example that explains the issue and resolution.

Error: file 'example.txt' not found
Traceback (most recent call last):
File "main.py", line 16, in <module>
open_file("example.txt")
File "main.py", line 11, in open_file
if f:
UnboundLocalError: local variable 'f' referenced before assignment


** Process exited - Return Code: 1 **

Press Enter to exit terminal


Python program using try, except and finally

Below program explains how to use try, except and finally blocks in python. But during the execution, it prints UnboundLocalError.


Program using try, except and finally

# Define a function that may raise an exception
def open_file(filename):
    try:
        f = open(filename, "r")
        contents = f.read()
    except FileNotFoundError:
        print(f"Error: file '{filename}' not found")
    else:
        print(f"Contents of file '{filename}':\n{contents}")
    finally:
        if f:
            f.close()
            print(f"File '{filename}' has been closed.")

# Call the function with a valid filename
open_file("example.txt")

# Call the function with an invalid filename
open_file("invalid.txt")


The output:

Error: file 'example.txt' not found
Traceback (most recent call last):
  File "main.py", line 16, in <module>
    open_file("example.txt")
  File "main.py", line 11, in open_file
    if f:
UnboundLocalError: local variable 'f' referenced before assignment


** Process exited - Return Code: 1 **
Press Enter to exit terminal

Resolution for UnboundLocalError

In the function, before the try block, add f = None. That resolves the issue. Here is the corrected program.

Corrected program

# Define a function that may raise an exception
def open_file(filename):
    try:
        f = None
        f = open(filename, "r")
            contents = f.read()
    except FileNotFoundError:
        print(f"Error: file '{filename}' not found")
    else:
        print(f"Contents of file '{filename}':\n{contents}")
    finally:
        if f:
            f.close()
            print(f"File '{filename}' has been closed.")

# Call the function with a valid filename
open_file("example.txt")

# Call the function with an invalid filename
open_file("invalid.txt")


The output is:

Error: file 'example.txt' not found
Error: file 'invalid.txt' not found


** Process exited - Return Code: 0 **
Press Enter to exit terminal


Summary

  • Return statement not coded in the function. As a result, it gave UnboundLocalError.
  • A function returns the None object by default if the control flow falls off the end of the function body without running into a return statement.

Comments

Popular posts from this blog

How to Fix datetime Import Error in Python Quickly

Explained Ideal Structure of Python Class

How to Check Kafka Available Brokers