Python Language Retour multiple


Exemple

La fonction xyz renvoie deux valeurs a et b:

def xyz():
  return a, b

Le code appelant xyz stocke les résultats dans une variable en supposant que xyz ne renvoie qu'une seule valeur:

t = xyz()

La valeur de t est en fait un tuple (a, b), donc toute action sur t supposant que ce n'est pas un tuple peut échouer profondément dans le code avec une erreur inattendue sur les tuples.

TypeError: le type tuple ne définit pas la méthode ...

La solution serait de faire:

a, b = xyz()

Les débutants auront du mal à trouver la raison de ce message en lisant uniquement le message d'erreur tuple!