Comment retourner plusieurs valeurs en Python : guide simple

Avec Python, on peut retourner plusieurs valeurs à la fois. Évidemment, la plupart fonctions retournent valeur unique, résultat du travail. Ici, vous apprendrez qu'on peut retourner plusieurs valeurs, SANS dictionnaire, liste, ou dataclass.
Retourner plusieurs valeurs avec un tuple
Il suffit de lister vos valeurs après return, séparées par virgules. Exemple retour multiple et assignation multiple :
def get_user(id):
# fetch user from database
# ....
return name, birthdate
name, birthdate = get_user(4)
En fait, on retourne un tuple. return (name, birthdate) marche aussi. Et oui, on peut retourner plus de 2 valeurs ainsi !
Avantage évident : assignation directe résultat à variables multiples. Code super propre et concis, comme Python doit l'être.
Alternatives en Python pour retourner plusieurs valeurs
Tuples OK pour nombre limité valeurs. Déballage direct dans variables nommées = code lisible, concis.
Mais au-delà 2-3 valeurs, mieux vaut dataclass pour code propre/lisible. Dataclass = classe régulière annotée @dataclass pour fonctionnalités utiles.
Si dataclass pas option (Python ancien), envisagez :
- dictionnaire Python
- liste Python
- classe régulière (objet)
Choix selon données. Données s'adaptant bien à liste = liste. Clés/valeurs = dictionnaire. Données complexes = plusieurs listes dans dictionnaire. À un moment, (data)class plus propre.
Continuer à apprendre
- Apprenez tuples et dictionnaires Python
- Mon intro aux fonctions
- Astuces fonctions avancées dans notre deep dive fonctions Python
Python
- Maîtriser les types de données Python : Guide pratique
- Maîtriser les opérateurs Python : Guide complet
- Maîtriser l'instruction pass en Python : Guide pratique
- Maîtriser les arguments de fonctions Python : Positionnels, nommés et paramètres par défaut
- Maîtriser les dictionnaires Python : création, manipulation et techniques avancées
- Maîtriser les itérateurs Python : fonctionnement et création des vôtres
- Les fermetures Python expliquées : comment les fonctions imbriquées capturent les variables
- Maîtriser Python datetime : guide pratique pour les dates, heures et fuseaux horaires
- Maîtriser time.sleep() en Python : Bonnes pratiques, multithreading et exemples réels