Example 1: Return multiple values from the function using multiple variables
If you want to return only a few variables from the Python function, then it is better to define these variables to store the multiple return values from the multiple variables, objects, tuples, lists, and dictionaries using the function. In this example, three variables are declared in the script to store three return values. The multiVarFunc() function is used to take three input values and return the values to the variables dept_name, total_std and total_fac.
# Define function to return multiple variables
def multiVarFunc():
# Take a string data
dept = input("Enter department name: ")
# Take a numeric data
stdnum = int(input("Enter the number of total students: "))
# Take a numeric data
facnum = int(input("Enter the number of total faculties: "))
# Return multiple variables
return dept,stdnum,facnum;
# Call the function and store the return values in three variables
dept_name, total_std, total_fac = multiVarFunc()
# Print the formatted output of the return values
print("\nDepartment:%s\nTotal students:%d\nTotal faculties:%d" %(dept_name,total_std,
total_fac))
Output
Three values are taken as the inputs, and the output values are printed after formatting.
Example 2: Return multiple values from the function using the tuple
The following script shows how to use a tuple to return multiple values from a function. If you want to return many values from the function, then this is a better option. Here, the tupleFunc() function is used to take four input values from the user and return the values as a tuple to the caller. The return values will be stored in a tuple variable named tupleVar and the values will be printed later.
# Define function to return multiple variables
def tupleFunc():
# Take a string data
stdID = input("Enter the student Id:")
# Take a string data
stdName = input("Enter the student name: ")
# Take a integer data
stdBatch = int(input("Enter the batch No: "))
# Take a float data
stdCGPA = float(input("Enter the CGPA: "))
# Return multiple variables as a tuple
return (stdID,stdName,stdBatch,stdCGPA)
# Call the function and store the return values in a tuple
tupleVar = tupleFunc()
# Print the formatted output of the tuple
print("\n ID:%s\n Name:%s\n Batch:%d\n CGPA:%4.2f" %(tupleVar[0],tupleVar[1],tupleVar[2],
tupleVar[3]))
Output
The four input values are taken as the input and formatted output values are then printed.
Example 3: Return multiple values from the function using the list
The following script shows how to use a list to return multiple values from a function. This is another option to return many values from a function. The listFunc() function is used in the script to take two integer numbers from the user and calculate the addition, subtraction, multiplication, and division of these numbers. Next, these four results are returned as a list from the function. The list variable, listVar is used to store the return values and print the values.
# Define function to return multiple values as a list
def listFunc():
# Take a numeric data
number1 = float(input("Enter any number:"))
# Take a numeric data
number2 = float(input("Enter any number:"))
addition = number1 + number2
subtraction = number1 - number2
multiplication = number1 * number2
division = number1 / number2
# Return multiple variables as a list
return [number1, number2, addition, subtraction, multiplication, division]
# Call the function and store the return values in a tuple
listVar = listFunc()
# Print the formatted output of the list data
print("\n%5.2f + %5.2f = %5.2f" %(listVar[0], listVar[1], listVar[2]))
print("%5.2f - %5.2f = %5.2f" %(listVar[0], listVar[1], listVar[3]))
print("%5.2f x %5.2f = %5.2f" %(listVar[0], listVar[1], listVar[4]))
print("%5.2f / %5.2f = %5.2f" %(listVar[0], listVar[1], listVar[5]))
Output
After taking two numbers, 67 and 23.7, the following output will appear.
Example 4: Return multiple values from the function using the dictionary
The following script shows how to use a dictionary to return multiple values from a function. This is another option to return many values from a function. A dictionary object variable named dictVar is declared inside the function. Three values are assigned to the variable and return the dicVar to the caller. Next, the dictionary values are printed.
# Define function to return the multiple values as a dictionary
def dictFunc():
# Declare a dictionary variable
dictVar = dict();
# Assign some values
dictVar['name'] = "Kelli Ali"
dictVar['age'] = 46
dictVar['profession'] = 'Singer'
# Return the dictionary as return values
return dictVar
# Call the function and store the return values in a dictionary variable
dictValues = dictFunc()
# Print the dictionary values
print("The values of dictionary are:\n", dictValues)
Output
The following output will appear after running the script.
Example 5: Return multiple values from the function using object
A class is used with a function to return multiple values as an object from the function in the following script. When the objFunc() function calls, the function initializes the object from the Employees class and returns the object to the caller. Next, the property values of the object will be printed.
# Define the class to intialize the object
class Employees:
def __init__(self):
self.name = "Mosarof Karim"
self.post = "Manager"
self.salary = 50000
# Define the function to return values as an object
def objFunc():
return Employees()
# Call the function to set the object variable
objVar = objFunc()
# Print the formatted output
print("\n Employee Name:", objVar.name,"\n","Post:",objVar.post,"\n","Salary:",
objVar.salary)
Output
The following output will appear after running the script.
Conclusion
Multiple return values from a function can be used in the script for various purposes. This tutorial showed some of the different ways of returning multiple values from a function in Python.
Watch Author’s video: here