Bird
Raised Fist0
Pythonprogramming~5 mins

Multiple return values in Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does it mean when a Python function returns multiple values?
It means the function sends back more than one piece of information at once, usually as a tuple, so you can use them separately.
Click to reveal answer
beginner
How do you capture multiple return values from a function in Python?
You can assign the returned values to multiple variables separated by commas, like: a, b = my_function()
Click to reveal answer
beginner
What type does Python use to hold multiple return values by default?
Python uses a tuple to hold multiple return values by default.
Click to reveal answer
beginner
Can a Python function return different types of values together? For example, a number and a string?
Yes, Python functions can return different types together, like a number and a string, because tuples can hold mixed types.
Click to reveal answer
intermediate
What happens if you try to assign multiple return values to fewer variables than returned?
Python will raise a ValueError because the number of variables does not match the number of returned values.
Click to reveal answer
What does a Python function return when you write: return 1, 2, 3?
AAn error because multiple values are not allowed
BA list containing [1, 2, 3]
CThree separate values returned one by one
DA tuple containing (1, 2, 3)
How do you receive multiple return values from a function?
AAssign them to multiple variables separated by commas
BUse a single variable only
CUse a list to capture them
DYou cannot receive multiple return values
What error occurs if you assign two variables to a function returning three values?
AValueError
BTypeError
CSyntaxError
DNo error
Can a function return a string and an integer together?
AOnly if converted to integer
BYes, as a tuple
COnly if converted to string
DNo, only same types allowed
What is the default container type for multiple return values in Python?
ADictionary
BList
CTuple
DSet
Explain how Python functions can return multiple values and how you can use them.
Think about how you get more than one answer from a function.
You got /3 concepts.
    Describe what happens if the number of variables on the left does not match the number of returned values from a function.
    Consider what Python expects when unpacking values.
    You got /3 concepts.

      Practice

      (1/5)
      1.

      What does a Python function return when it has multiple values separated by commas in the return statement?

      easy
      A. A tuple containing all the returned values
      B. A list containing all the returned values
      C. Only the first value is returned
      D. A dictionary with values as keys

      Solution

      1. Step 1: Understand Python return behavior

        When multiple values are separated by commas in a return statement, Python groups them into a tuple automatically.
      2. Step 2: Identify the returned data type

        The returned object is a tuple containing all the values, not a list or dictionary.
      3. Final Answer:

        A tuple containing all the returned values -> Option A
      4. Quick Check:

        Multiple values returned = tuple [OK]
      Hint: Multiple returns become a tuple automatically [OK]
      Common Mistakes:
      • Thinking it returns a list
      • Assuming only one value is returned
      • Confusing tuple with dictionary
      2.

      Which of the following is the correct syntax to return multiple values a and b from a function?

      easy
      A. return a, b
      B. return {a: b}
      C. return [a, b]
      D. return {a, b}

      Solution

      1. Step 1: Review return syntax for multiple values

        Python allows returning multiple values separated by commas without parentheses.
      2. Step 2: Compare options

        return a, b is correct and returns a tuple. return {a: b} returns a dictionary, return [a, b] returns a list, and return {a, b} returns a set, which are not typical for multiple return values.
      3. Final Answer:

        return a, b -> Option A
      4. Quick Check:

        Comma-separated values return tuple [OK]
      Hint: Use commas without brackets to return multiple values [OK]
      Common Mistakes:
      • Using brackets unnecessarily
      • Returning list or set instead of tuple
      • Syntax errors with braces
      3.

      What will be the output of this code?

      def get_values():
          return 5, 10
      
      x, y = get_values()
      print(x + y)
      medium
      A. 510
      B. TypeError
      C. 15
      D. None

      Solution

      1. Step 1: Understand function return and unpacking

        The function returns two values 5 and 10 as a tuple. Variables x and y capture these values separately.
      2. Step 2: Calculate the sum

        Adding x and y means 5 + 10 which equals 15.
      3. Final Answer:

        15 -> Option C
      4. Quick Check:

        5 + 10 = 15 [OK]
      Hint: Unpack returned tuple into variables to use values [OK]
      Common Mistakes:
      • Concatenating numbers as strings
      • Forgetting to unpack tuple
      • Expecting a list instead of tuple
      4.

      Find the error in this code snippet:

      def split_name(full_name):
          first, last = full_name.split()
          return first, last
      
      f, l, m = split_name('John Doe')
      medium
      A. Missing return statement
      B. Too many variables to unpack returned values
      C. Function split_name returns a list, not tuple
      D. split() method does not work on strings

      Solution

      1. Step 1: Analyze returned values and unpacking

        The function returns two values: first and last name. The caller tries to unpack into three variables.
      2. Step 2: Identify mismatch in unpacking

        Trying to assign two returned values to three variables causes a ValueError due to too many variables to unpack.
      3. Final Answer:

        Too many variables to unpack returned values -> Option B
      4. Quick Check:

        Returned 2 values but unpacked into 3 variables [OK]
      Hint: Match number of variables to returned values [OK]
      Common Mistakes:
      • Unpacking into more variables than returned
      • Assuming split returns tuple always
      • Ignoring ValueError messages
      5.

      Given this function that returns multiple values, how can you modify it to return the sum and product of a list of numbers?

      def calculate(numbers):
          # Your code here
      
      result = calculate([1, 2, 3, 4])
      print(result)

      Choose the correct implementation to return both sum and product.

      hard
      A. def calculate(numbers): total = sum(numbers) product = 0 for n in numbers: product += n return total, product
      B. def calculate(numbers): return sum(numbers) + product(numbers)
      C. def calculate(numbers): return [sum(numbers), product(numbers)]
      D. def calculate(numbers): total = sum(numbers) product = 1 for n in numbers: product *= n return total, product

      Solution

      1. Step 1: Calculate sum and product correctly

        Sum is calculated using built-in sum(). Product requires initializing to 1 and multiplying each number.
      2. Step 2: Return both values as multiple return values

        Return total and product separated by comma to return a tuple.
      3. Final Answer:

        def calculate(numbers): total = sum(numbers) product = 1 for n in numbers: product *= n return total, product -> Option D
      4. Quick Check:

        Return sum and product as tuple [OK]
      Hint: Return sum and product separated by comma [OK]
      Common Mistakes:
      • Using product = 0 and adding instead of multiplying
      • Trying to add sum and product instead of returning both
      • Returning list instead of tuple