Bonjour, j'aimerai savoir comment ou retourne et récupère plusieurs valeurs en python?
Surtout dans le cas ou le nombre de valeurs à retourner est en paramètre de la fonction.
D'avance merci
Avec un tableau ? Un objet ? En modifiant les objets passés en paramètres ? Tu as des tas de possibilités.
En effet, y a un paquet de possibilités.
Celles que j'utilise souvent :
return [var1, var2, var3] # dans le cas d'un nombre connu de variables qui ont le même "sens"
return var # où var est une liste construite dans ta fonction
return [func(i) for i in other_list] # pour s'éviter une ligne en plus et une assignation de variable
return {"x": var1, "y": var2, "radius": var3} # pour renvoyer les coordonnées x et y et le rayon d'un cercle par exemple, étant donné que chaque variable a un sens différent
Voilà, j'espère que tu trouveras ton bonheur avec ces exemples
D'une manière plus idiomatique j'aime bien la syntaxe basée sur les tuples :
def f():
....return 1, 2, 3 # ou return (1, 2, 3), c'est équivalent
a, b, c = f()
pour retourner des valeurs de type différent c'est ce que j'utilise.
B-613 en fait il m'est demandé de RENVOYER plusieurs valeurs donc je pense que c'est plus ta méthode mais je me demande juste comment faire avec un nombre N de variable inconnu à l'avance
A ma connaissance c'est pas possible, tu devras passer par un tableau. Mais renvoyer un tableau c'est déjà un return multiple en soi, quand on fait return 1, 2, 3 en python, en interne c'est converti en tuple, et le tuple retourné est "dépacké" quand on assigne à plusieurs variables
Sur le topic là tu as à peu près toutes les méthodes possibles en python qui permettent le return multiple et elles sont toutes équivalentes au final, y a juste des choses qui peuvent être faites seulement avec les tableaux, d'autres seulement avec les tuples, d'autres seulement avec une structure dictionnaire