web-dev-qa-db-fra.com

Comment renvoyer plus d'une valeur d'une fonction en Python?

Comment retourner plus d'une variable à partir d'une fonction en Python?

38
user46646

Vous séparez les valeurs que vous souhaitez renvoyer par des virgules:

def get_name():
   # you code
   return first_name, last_name

Les virgules indiquent qu'il s'agit d'un Tuple, vous pouvez donc encapsuler vos valeurs entre parenthèses:

return (first_name, last_name)

Ensuite, lorsque vous appelez la fonction, vous a) enregistrez toutes les valeurs dans une variable en tant que Tuple, ou b) séparez les noms de vos variables par des virgules

name = get_name() # this is a Tuple
first_name, last_name = get_name()
(first_name, last_name) = get_name() # You can put parentheses, but I find it ugly
140
Cristian

Voici également le code pour gérer le résultat:

def foo (a):
    x=a
    y=a*2
    return (x,y)

(x,y) = foo(50)
13
Staale

Retour en tant que tuple, par ex.

def foo (a):
    x=a
    y=a*2
    return (x,y)