Python renvoie plusieurs valeurs
Avec Python, nous pouvons renvoyer plusieurs valeurs à la fois. De toute évidence, la plupart des fonctions de Python renvoient une valeur unique, généralement le résultat du travail effectué par cette fonction. Dans cet article, vous apprendrez que vous pouvez également renvoyer plusieurs valeurs en Python, et que vous n'avez pas besoin d'un dictionnaire, d'une liste ou d'une classe de données pour le faire.
Table des matières
- Renvoyer plusieurs valeurs avec un tuple
- Autres méthodes en Python pour renvoyer plusieurs valeurs
- Continuez à apprendre
Renvoyer plusieurs valeurs avec un tuple
Tout ce que vous avez à faire est de lister vos valeurs après l'instruction de retour, séparées par des virgules. Voici un exemple montrant comment renvoyer plusieurs valeurs et comment les affecter à plusieurs variables à la fois :
def get_user(id): # fetch user from database # .... return name, birthdate name, birthdate = get_user(4)
Ce que nous sommes en train de faire ici, c'est de retourner un tuple. On aurait pu écrire return (name, birthdate)
ainsi, avec le même effet. Et si vous vous demandez si vous pouvez renvoyer plus de deux valeurs de cette façon :oui, vous le pouvez !
L'avantage le plus évident de renvoyer plusieurs valeurs en Python à l'aide d'un tuple est que nous pouvons directement affecter le résultat à plusieurs variables. C'est super propre et concis, tout comme Python était censé l'être.
Méthodes alternatives en Python pour renvoyer plusieurs valeurs
L'utilisation de tuples pour renvoyer plusieurs valeurs en Python est acceptable pour un nombre limité de valeurs. Parce que nous pouvons les décompresser directement dans des variables clairement nommées, il en résulte en fait un code très lisible et concis.
Cependant, une fois que vous avez dépassé 2 ou 3 valeurs, vous devriez vous pencher sur une classe de données pour garder votre code propre et lisible. Une classe de données est essentiellement une classe régulière, annotée avec @dataclass
pour lui donner des fonctionnalités supplémentaires pratiques.
Si une classe de données n'est pas une option parce que vous exécutez une ancienne version de Python, par exemple, vous pouvez également envisager de renvoyer :
- un dictionnaire Python,
- une liste Python,
- ou une classe régulière (objet).
Le mieux dépend du type de données que vous renvoyez. Si les données tiennent bien dans une liste, utilisez une liste. Si les données ont des clés et des valeurs, utilisez un dictionnaire. Si vos données sont plus complexes, vous devrez peut-être même placer plusieurs listes dans un dictionnaire. N'oubliez pas qu'à un moment donné, il sera plus propre d'utiliser une classe (de données).
Continuez à apprendre
- Tout savoir sur les tuples Python et les dictionnaires Python
- Mon introduction aux fonctions
- Plus d'astuces avancées sur les fonctions Python dans notre présentation approfondie des fonctions Python
Python