Retourner des valeurs multiples à partir d'une fonction en Python
- Utiliser un n-uplet pour retourner des valeurs multiples à partir d’une fonction en Python
- Utiliser une liste pour retourner des valeurs multiples d’une fonction en Python
- Utiliser un dictionnaire pour renvoyer des valeurs multiples à partir d’une fonction en Python
- Utiliser une classe pour retourner des valeurs multiples à partir d’une fonction en Python
-
Utilisez une
dataclass
pour renvoyer plusieurs valeurs d’une fonction en Python
Les fonctions sont une partie essentielle de tout langage de programmation. Une fonction est un bloc de code qui peut être appelé pour effectuer une opération spécifique dans la programmation. Habituellement, une fonction est utilisée pour retourner une valeur. Cette valeur peut être un nombre, une chaîne de caractères ou tout autre type de données.
Dans ce tutoriel, nous discuterons des différentes méthodes permettant de créer une fonction qui renvoie plusieurs valeurs. Pour ce faire, nous renverrons différents objets de données comme une liste, un dictionnaire et d’autres objets d’une fonction définie par l’utilisateur.
Utiliser un n-uplet pour retourner des valeurs multiples à partir d’une fonction en Python
Si nous retournons les valeurs d’une fonction séparées par une virgule, elles sont considérées comme un n-uplet. Les n-uplets sont généralement placés entre parenthèses. Dans le code ci-dessous, nous retournerons un tuple d’une fonction Python.
def return_multi(a):
b = a + 1
c = a + 2
return b, c
x = return_multi(5)
print(x, type(x))
Production :
(6, 7) <class 'tuple'>
Utiliser une liste pour retourner des valeurs multiples d’une fonction en Python
Les listes Python sont utilisées pour stocker différents éléments sous un nom commun et à des endroits spécifiques. Les fonctions peuvent également renvoyer plusieurs valeurs dans une liste, comme indiqué ci-dessous.
def return_multi(a):
b = a + 1
c = a + 2
return [b, c]
x = return_multi(5)
print(x, type(x))
Production :
[6, 7] <class 'list'>
Utiliser un dictionnaire pour renvoyer des valeurs multiples à partir d’une fonction en Python
Les dictionnaires sont utilisés pour stocker les paires clé-valeur en Python. Nous pouvons obtenir la sortie finale dans un format beaucoup plus organisé en renvoyant un dictionnaire à partir d’une fonction avec des clés affectées à différentes valeurs. Voir l’exemple suivant.
def return_multi(a):
b = a + 1
c = a + 2
return {"b": b, "c": c}
x = return_multi(5)
print(x, type(x))
Production :
{'b': 6, 'c': 7} <class 'dict'>
Utiliser une classe pour retourner des valeurs multiples à partir d’une fonction en Python
Les classes contiennent différents membres de données et fonctions et nous permettent de créer des objets pour accéder à ces membres. Nous pouvons renvoyer un objet de ces classes définies par l’utilisateur en fonction de la structure de la classe et de ses membres de données. Par exemple :
class return_values:
def __init__(self, a, b):
self.a = a
self.b = b
def return_multi(a):
b = a + 1
c = a + 2
t = return_values(b, c)
return t
x = return_multi(5)
print(x.a, x.b, type(x))
Production :
6 7 <class '__main__.return_values'>
Utilisez une dataclass
pour renvoyer plusieurs valeurs d’une fonction en Python
Une dataclass
est une nouvelle fonctionnalité intéressante ajoutée à Python v3.7 et plus. Elles sont similaires aux classes traditionnelles mais sont principalement utilisées pour stocker des données et toutes leurs fonctionnalités de base sont déjà implémentées. Le décorateur @dataclass
et le module dataclass
sont utilisés pour créer de tels objets. Dans le code ci-dessous, nous retournons une dataclass
à partir d’une fonction.
from dataclasses import dataclass
@dataclass
class return_values:
a: int
b: int
def return_multi(a):
b = a + 1
c = a + 2
t = return_values(b, c)
return t
x = return_multi(5)
print(x.a, x.b, type(x))
Production :
6 7 <class '__main__.return_values'>
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn