PYTHON

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. If no return statement is used, or if a return statement is used without a value, the function will implicitly return None.

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).

Functions can also include lambda expressions when compact, anonymous functions are necessary for quick operations. Functions in Python are highly versatile, allowing programmers to use complex logic while keeping the code modular and efficient.

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

The return keyword in Python enables the function to send results back to its caller.

Using Return X in Lambda Functions

In Python, you can create lambda functions that return values in a compact form. For example:

square = lambda x: x ** 2
print(square(5))  # Outputs: 25

This example of using return x within a lambda function simplifies calculations for single-line operations.

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

Handling Strings with Commas

When returning strings, you can join elements with commas to create formatted output.

def format_names(names):
    return ", ".join(names)  # Joins the list of names with commas

Returning Boolean Values

When validating or checking conditions, return statements often send back boolean results to signal success or failure.

def is_even(num):
    return num % 2 == 0  # Returns True if the number is even

Returning a Function

Python allows for returning a function from within another function. This enables dynamic programming patterns.

def outer_function():
    def inner_function():
        return "Hello from the inner function!"
    return inner_function

func = outer_function()
print(func())  # Outputs: "Hello from the inner function!"

Examples of the Return Statement in Python

Python return statements are common in any function that needs to provide a result or output back to the caller, allowing the function to return a value, data, or object based on its processing. Here are 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
    else:
        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

Returning Strings

String handling in Python often involves returning formatted strings or processed values. For instance:

def greet_user(name):
    return f"Hello, {name}!"

Returning a str from a function is common in tasks like string manipulation and formatting.

Using Default Values

Functions can return default values when no valid input is provided. For example:

def divide_numbers(a, b):
    if b == 0:
        return "Division by zero is not allowed."
    return a / b

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
	else:
		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):
    print(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 = "john.doe@example.com"
    # 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

Tutorial for Beginners If you're a beginner, consider following a Python tutorial that introduces functions, return statements and much more.

Learn to Code in Python for Free
Start learning now
button icon
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.

© 2025 Mimo GmbH