Je voudrais passer un tuple (ou peut-être une liste) à une fonction comme une séquence de valeurs (arguments). Le tuple doit ensuite être décompressé en tant qu'argument dans * arg.passant un tuple dans * args
Par exemple, cela est clair:
def func(*args):
for i in args:
print "i = ", i
func('a', 'b', 3, 'something')
Mais ce que je veux faire est la suivante:
tup = ('a1', 'a2', 4, 'something-else')
func(tup)
Et cela devrait se comporter semblable au premier cas. Je pense que je devrais utiliser ici réimpression et eval mais je ne sais pas exactement comment.
Je sais que je peux passer le tuple dans la fonction puis le décompresser dans le corps, mais ma question ici est de savoir comment déballer dans la fonction elle-même appel.
Utilisez simplement func (* tup) '. –