Python Language Utiliser * args lors de l'appel de fonctions


Exemple

L'utilisation de l'opérateur * sur un argument lors de l'appel d'une fonction consiste à décompresser la liste ou un argument tuple

def print_args(arg1, arg2):
    print(str(arg1) + str(arg2))

a = [1,2]
b = tuple([3,4])

print_args(*a)
# 12
print_args(*b)
# 34

Notez que la longueur de l'argument étoilé doit être égale au nombre d'arguments de la fonction.

Un idiome commun de python est d'utiliser l'opérateur de décompression * avec la fonction zip pour inverser ses effets:

a = [1,3,5,7,9]
b = [2,4,6,8,10]

zipped = zip(a,b)
# [(1,2), (3,4), (5,6), (7,8), (9,10)]

zip(*zipped)
# (1,3,5,7,9), (2,4,6,8,10)