Python functions can return multiple variables. These variables can be stored in variables directly. A function is not required to return a variable, it can return zero, one, two or more variables.
This is a unique property of Python, other programming languages such as C++ or Java do not support this by default.
Related course: Complete Python Programming Course & Exercises
Example
Introduction
Variables defined in a function are only known in the function. That’s because of the scope of the variable. In general that’s not a problem, unless you want to use the function output in your program.
In that case you can return variables from a function. In the most simple case you can return a single variable:
1 | def complexfunction(a,b): |
Call the function with complexfunction(2,3) and its output can be used or saved.
But what if you have multiple variables in a function that you want access to?
Multiple return
Create a function getPerson(). As you already know a function can return a single variable, but it can also return multiple variables.
We’ll store all of these variables directly from the function call.1
2
3
4
5
6
7
8
9
10
11
12#!/usr/bin/env python3
def getPerson():
name = "Leona"
age = 35
country = "UK"
return name,age,country
name,age,country = getPerson()
print(name)
print(age)
print(country)
This will output:
If you are a beginner, then I highly recommend this book.
Exercise
Try the exercises below:
- Create a function that returns a,b and a+b
- Create a function that returns 5 variables
After completing these continue with the next exercise.