Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to use return in Python

Understanding the Concept of Return in Python

When learning Python or any programming language, you will come across a term called "return". To a beginner, this term might be a little confusing. But don't worry, by the end of this blog post, you'll have a good understanding of what "return" in Python is, how to use it, and why it's important.

What is a Return Statement?

In Python, a return statement is used in a function to end the execution of the function and sends a result back to where the function was called. If you're familiar with the concept of a waiter in a restaurant, you can think of the return statement as the waiter who brings your food (the output of the function) back to your table (where the function was called).

Here's how a basic return statement looks in Python:

def add_numbers(num1, num2):
    return num1 + num2

In this case, when you call the function add_numbers() with two numbers, it will "return" their sum.

Why Use Return?

You might be asking, "Why should I use return? Can't I just print the result directly?" While you can certainly do that, using return gives you more flexibility.

Imagine you're at a restaurant and after you order your food, instead of bringing it to your table, the waiter eats it. That's essentially what happens when you use print instead of return. The function consumes the result instead of giving it back to you to use as you please.

With return, you can take the result and use it elsewhere in your program, store it in a variable, or even use it as an input for another function.

How to Use Return in Python

Using return in Python is quite straightforward. Let's dive into some code examples to illustrate its usage.

def add_numbers(num1, num2):
    return num1 + num2

result = add_numbers(3, 5)
print(result)  # Outputs: 8

In this example, we have a function add_numbers() that takes two parameters, adds them together, and then returns the result. We then store the result of this function in a variable called result and print it.

You can also use the return value as an input to another function:

def multiply_by_two(num):
    return num * 2

result = add_numbers(3, 5)
new_result = multiply_by_two(result)
print(new_result)  # Outputs: 16

Here, we've added a new function multiply_by_two(). We first call add_numbers() and store its result, then we pass that result to multiply_by_two() and print the final result.

Multiple Returns

A function in Python can also have multiple return statements. However, it's important to note that once a return statement is reached, the function will end, and any code that follows the return statement will not be executed.

def compare_numbers(num1, num2):
    if num1 > num2:
        return "First number is larger"
    elif num1 < num2:
        return "Second number is larger"
    else:
        return "Both numbers are equal"

print(compare_numbers(3, 5))  # Outputs: Second number is larger

In this example, our function compares two numbers and returns different statements depending on the comparison result.

The None Return

By default, if a Python function does not have a return statement, it will return None. None is a special type in Python that represents nothingness. It's similar to null in other programming languages.

def say_hello(name):
    print(f"Hello, {name}!")

result = say_hello("Alice")
print(result)  # Outputs: None

In this example, say_hello() function prints a greeting but doesn't return anything. So, when we try to print the result, it outputs None.

Conclusion

In the realm of Python, a return statement is like a diligent waiter, bringing back the results of a function's hard work back to the table. It's what allows you to take those delicious results and use them elsewhere in your program, offering flexibility, reusability, and overall better coding practices. So the next time you're cooking up a function, remember to return the results. After all, you wouldn't want the waiter to eat your order, would you? Happy coding!