Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content
Python Land
  • Python Tutorial
  • Shop
  • Blog
  • Login / Register
  • Contact
0
Home » Tips & Tricks » Python Return Multiple Values
Return multiple values Python

Python Return Multiple Values

May 16, 2023

With Python, we can return multiple values at once. Obviously, most functions in Python return a single value, usually the result of the work done by that function. In this article, you’ll learn that you can return multiple values in Python too, and you don’t need a dictionary, list, or a data class to do so.

Table of Contents

  • 1 Return multiple values with a tuple
  • 2 Alternative ways in Python to return multiple values
  • 3 Keep learning

Return multiple values with a tuple

All you need to do is list your values after the return statement, separated by commas. Here’s a runnable example of how to return multiple values and how to assign them to multiple variables at once:

What we are actually doing here is returning a tuple. We could have written return (first, last) as well, with the same effect. And if you’re wondering whether you can return more than two values this way: yes, you can!

The most obvious advantage of returning multiple values in Python using a tuple is that we can directly assign the result to multiple variables. It’s super clean and concise, just like Python was meant to be.

Alternative ways in Python to return multiple values

Using tuples to return multiple values in Python is alright for a limited number of values. It results in very readable, concise code because we can directly unpack them into clearly named variables.

However, once you get past 2 or 3 values, you should look into a data class to keep your code clean and readable. A data class is essentially a regular class annotated with @dataclass to give it some handy extra functionality.

If a data class is not an option because you’re running an older Python version, for example, you can also consider returning:

  • a Python dictionary,
  • a Python list,
  • or a regular class (object).

What’s best depends on the kind of data you’re returning. If the data fits in a list nicely, use a list. In case the data has keys and values, use a dictionary. If your data is more complex, you might even need to put multiple lists inside a dictionary. Just remember, it will be cleaner to use a (data) class at some point.

Keep learning

  • Learn all about Python tuples and Python dictionaries
  • My introduction to functions
  • More advanced Python function tricks in our Python functions deep dive

Get certified with our courses

Learn Python properly through small, easy-to-digest lessons, progress tracking, quizzes to test your knowledge, and practice sessions. Each course will earn you a downloadable course certificate.

  • Sale Product on sale
    The Python Course for Beginners
    Beginners Python Course (2024)
    € 59.00 Original price was: € 59.00.€ 39.00Current price is: € 39.00.
  • Sale Product on sale
    Computer Fundamentals
    Files, Folders, And The Command Line (2024)
    € 39.00 Original price was: € 39.00.€ 19.00Current price is: € 19.00.
  • Sale Product on sale
    Modules, Packages, And Virtual Environments (2024)
    Modules, Packages, And Virtual Environments (2024)
    € 59.00 Original price was: € 59.00.€ 39.00Current price is: € 39.00.

Leave a Comment Cancel reply

You must be logged in to post a comment.

Subscribe to my newsletter for Python news, tips, and tricks!

Footer subscribe

  • Home
  • Python Courses
  • Privacy Policy
  • About Us
  • Contact us
©2025 Python Land - All rights reserved
Python Land is not affiliated with Python.org or the Python Software Foundation
  • Free Tutorial
    • Install Python
      • Online Python Interpreter
      • How To Open Python on Windows, Mac, Linux
    • Introduction to Python
      • The Python REPL
      • Python Variable
      • Python String
      • Python Print function
      • Python Booleans
      • For-loop and While-loop
      • Python Functions
      • Your First Python Program
      • Python Comments
    • Creating Python Programs
      • The Best Python IDE
      • Installing VSCode
      • VSCode Python Extensions
      • VSCode GUI Tour
      • Python in VSCode: Running and Debugging
    • Classes and Objects in Python
      • Python Constructor
      • Python Inheritance
    • Structure Your Project
      • Python Modules And Importing
      • Python Packages
    • Python Data Types
      • Python Integer
      • Python Float
      • Python Tuple
      • Python List
      • Python Set
      • Python Dictionary
    • Language Deep Dives
      • Python Try Except (Exceptions)
      • Python Functions: Advanced Concepts
      • List Comprehension
      • Python Iterator
      • Python Range
      • Python Docstrings
      • Python pass (Do Nothing)
    • Interaction with the OS
      • Python Read And Write File
      • Python Subprocess: Run External Commands
    • Venvs / Package Management
      • Working With Python’s venv
      • Pip install: the Python package manager
      • Python Poetry: Package and venv Management Made Easy
      • Python Pipenv: Another Package Manager
      • Pipx: Safely Install Packages Globally
    • Python Concurrency
      • The Python GIL (Global Interpreter Lock)
      • Setting the Baseline
      • Python Threading
      • Python Multiprocessing
    • Data Processing with Python
      • Working With JSON
        • JMESPath Python: JSON Query Language
      • Python YAML: How to Load, Read, and Write YAML
      • Python CSV: Read And Write CSV Files
    • Migrating From Python 2 to 3
      • Check Python Version On The Command-Line
      • How to Migrate To Python 3
      • Python 3 Advantages
    • Using The Unix Shell
      • Basic Linux Commands
      • Bash Scripts
      • Using the Find Command in Linux
      • Unix Pipes
      • Process and Highlight JSON with jq
      • Using the Bash History
      • Bash Multiprocessing
    • Deployment
      • PyInstaller: Create An Executable From Python Code
      • How To Use Docker To Containerize Your Python Project
      • Automatically Build and Deploy Your Python Application with CI/CD
      • Guerrilla Scale Your Web Application
    • Data Science
      • Jupyter Notebook
      • NumPy: Getting Started Tutorial
    • Python Learning Resources
  • Python Courses
  • Blog
  • Login / Register