Existe-t-il un style de codage recommandé / généralement accepté pour gérer les situations où une fonction retourne un tuple de valeurs mais une seule de ces valeurs est utilisée par la suite (notez que cela est principalement destiné aux fonctions de bibliothèque que je ne peux pas changer - écrire un wrapper autour l'appel est probablement un peu exagéré…)? Au lieu de faire
a, b, c = foo()
et ensuite ne pas utiliser b
and c
, laquelle des variantes suivantes devrait être préférée (ou y en a-t-il une autre?):
Variante 1 (soulignement)
a, _, _ = foo()
(qui est très clair et simple mais qui pourrait entrer en conflit avec _ = gettext.gettext
de nombreuses applications utilisant la traduction)
Variante 2 (nom fictif)
a, unused, unused = foo()
(pas très attrayant, je pense, il en va de même pour d'autres noms comme dummy
)
Variante 3 (index)
a = foo()[0]
(pour moi les ()[0]
looks non pythoniques…)
a, b = foo()[0:2]
cela fonctionnerait? Si oui: oui, c'est le cas :)
a, *_ = foo()
supprimera toutes les valeurs sauf la première.