Understanding the Python Return Statement: Syntax, Usage, and Examples

The Python return statement marks the end of a function and specifies the value or values to pass back from the function. Return statements can return data of any type, including integers, floats, strings, lists, dictionaries, and even other functions.

How to Use the Return Statement in Python

In Python, the return statement exits a function and passes back a value to the function call. Here's the basic syntax for using return statements:

def function_name(parameter1, parameter2):
	# Function body
	return return_value
  • def: The keyword to start the function definition.
  • function_name: A unique identifier to name the function.
  • parameter(s): Any number of variables listed inside the parentheses help pass data into the function (optional).
  • return: The keyword to exit the function before reaching its end (optional).
  • return_value: A value or variable to return from the function (optional).

When to Use the Return Statement in Python

The return statement is useful for returning the result of a calculation or retrieving specific data. Another use case for a return statement is exiting a function based on conditions.

Sending Back Results

A return statement is essential whenever you want to send the result of a function back to where you called the function.

def calculate_area(length, width):
	area = length * width
	return area

area = calculate_area(50, 50) # get the result of the function
print(f"Calculated area: {area}") # use the result of the function

Retrieving Specific Data

When fetching data from a database or API, a return statement can deliver the retrieved data to the caller. This can make code more modular and reusable.

def get_user_email(user_id):
	user_email = database.query("SELECT email FROM users WHERE id = ?", user_id)
	return user_email

Exiting Functions Based on Conditions

The return statement allows for the early termination of a function in specific cases. This can improve performance and reduce the likelihood of errors.

def validate_age(age):
	# validate that age is a number or converts to a number
	if not isinstance(age, (int, float)) or age != int(age):
		return False
	elif age < 0:
		return False
  elif age > 120:
	  return False
  return True # if none of the conditions trigger, return True

Examples of the Return Statement in Python

Return statements are common in any function that Herare a few examples:

E-Commerce Price Calculation

To calculate the total price of items in a shopping cart, an e-commerce platform might use a function with a return statement.

def calculate_total_price(product_prices, tax_rate, discount):
	subtotal = sum(product_prices)
	tax_amount = subtotal * tax_rate
	discount_amount = subtotal * discount
	total_price = subtotal + tax_amount - discount_amount
	return total_price

User Authentication

An application that authenticates users with a function might use a return statement to pass back the outcome:

def authenticate_user(username, password):
	# Assuming there's a database of users with encrypted passwords
	user = get_user_from_database(username)
	if user and check_password_encryption(password, user.encrypted_password):
        return True  # Authentication successful
        return False  # Authentication failed

Data Science

Data science often involves extracting meaningful insights from raw data, such as calculating statistical measures. As an example, consider a function that processes a dataset and returns the mean, median, and standard deviation:

def analyze_data(data):
	mean = calculate_mean(data)
	median = calculate_median(data)
	std_dev = calculate_standard_deviation(data)
	return mean, median, std_dev  # Returning multiple insights as a tuple

API Response Handling

In software development, apps often interact with external APIs. The function below demonstrates how the return statement can handle and relay API responses:

import requests

def fetch_api_data(URL):
	response = requests.get(url)
	if response.status_code == 200:
		return True, response.json()  # Success, returning status and data
		return False, None  # Failure, indicating an issue with the request

Learn More About the Return Statement in Python

Returning None

In functions where the main purpose is to perform a specific action, you might not always need to return a value. Python functions implicitly return None in such cases:

def log_message(message):
    # No return statement needed; function returns None by default

Exiting Early

You can use return in Python for early exits from a function when certain conditions are true or false. Exiting early can improve the efficiency and readability of your code.

def log_message(message, log_level):
    if log_level not in ["INFO", "WARNING", "ERROR"]:
        return  # Early exit if log_level is invalid, implicitly returns None
    # Proceed with logging the message if log_level is valid
    print(f"[{log_level}]: {message}")

# Example usage
log_message("This is a test message.", "DEBUG")  # Does nothing and returns None

Returning Multiple Values

Python functions can return multiple values by packing them into a tuple, list, or dictionary. This feature is incredibly useful for functions that perform related tasks and need to return more than one result. The caller can then easily unpack these values.

def get_user_info(user_id):
    # Assuming a database query here to fetch user details
    user_name = "John Doe"
    user_email = ""
    # Returning multiple values as a tuple
    return user_name, user_email

# Unpacking the returned tuple into separate variables
name, email = get_user_info(1)

Returning Functions

Python supports higher-order functions, meaning you can return a function in Python from another function. This is particularly useful in advanced programming patterns like decorators or factories.

def outer_function():
    def inner_function():
        return "Hello from the inner function!"
    return inner_function  # Returns a function
Learn to Code in Python for Free
Start learning now
To advance beyond this tutorial and learn Python by doing, try the interactive experience of Mimo. Whether you're starting from scratch or brushing up your coding skills, Mimo helps you take your coding journey above and beyond.

Sign up or download Mimo from the App Store or Google Play to enhance your programming skills and prepare for a career in tech.

You can code, too.

© 2023 Mimo GmbH