The return statement is used inside a function to send a value back to the place where the function was called. Once return is executed, the function stops running, and any code written after it is ignored. If no value is returned, Python automatically returns None.
This example shows a function that returns a value.
def square(n):
return n * n
res = square(4)
print(res)
Output
16
Explanation:
- square(n) takes a number as input
- return n * n sends the result back to the caller
- square(4) returns 16, which is stored in res
Syntax
def function_name(parameters):
# function body
return value
When the return statement is executed, the function immediately stops running and sends the specified value back to the caller. If no value is mentioned after return, Python automatically returns None.
Note: The return statement can only be used inside a function. Using it outside a function will result in an error.
Returning Multiple Values
In Python, a function can return more than one value at a time. These values are automatically grouped into a tuple and can be unpacked into separate variables.
def get_vals():
x = 10
y = 20
return x, y
a, b = get_vals()
print(a)
print(b)
Output
10 20
Explanation:
- return x, y sends two values together as a tuple
- a, b = get_vals() unpacks the returned values into separate variables
Returning a List from a Function
A function can also return collections like lists, which is useful when you want to return multiple related values together.
def calc(n):
return [n * n, n * n * n]
print(calc(3))
Output
[9, 27]
Explanation:
- The function returns a list containing calculated values
- The returned list can be used directly or stored in a variable
Function Returning Another Function
In Python, functions are first-class citizens, meaning you can return a function from another function. This is useful for creating higher-order functions.
def outer(msg):
def inner():
return msg
return inner
f = outer("Hello")
print(f())
Output
Hello
Explanation:
- outer() returns the inner() function
- The returned function remembers the value of msg
- Calling f() executes the returned function
