Comment utiliser les *args en Python ? - Docstring

Comment utiliser les *args en Python ?

Le paramètre args permet de créer une fonction qui accepte un nombre indéfini d'arguments.

Dans la définition d'une fonction, il doit être précédé de l'opérateur 'splat' (*) :

#norun
def foo(*args):
    print(args)

La fonction foo accepte ainsi 0, 1 ou un nombre infini d'arguments, par exemple :

def foo(*args):
    print(args)

foo()
foo(1)
foo(1, 'Bonjour', True)

À l'intérieur de la fonction, les arguments envoyés au paramètre args seront récupérés sous la forme d'un tuple :

def foo(*args):
    print(args)
    print(isinstance(args, tuple))

foo(1, 2, 3)

Il est important de soulever que le nom de args n'est qu'une convention. On pourrait utiliser n'importe quel nom et cela fonctionnerait de la même façon.

👉 La seule chose qui compte vraiment, c'est l'opérateur splat (*) qui précède le nom du paramètre :

def foo(*nombres):
    print(nombres)

foo(1, 2, 3, 4)
Exemples

Faire la somme de plusieurs nombres :

def somme_de_nombres(*args):
    somme = 0
    for n in args:
        somme += n
    return somme

print(somme_de_nombres(1, 2, 3))
print(somme_de_nombres(2, 5, 3, 9, 8))
print(somme_de_nombres(4, 5, 2, 19, 39, 23, 3, 12, 99))

Concaténer des chaînes de caractères :

def concat_path(*args):
    path = ""
    for chemin in args:
        path += "/" + chemin
    return path

print(concat_path("Users", "ThibH", "Documents"))
print(concat_path("Users", "ThibH", "Documents", "DossierTest"))
print(concat_path("Users", "ThibH", "Documents", "DossierTest", "SousDossier"))

Enlever plusieurs éléments d'une liste :

def remove_employes(liste, *args):
    for employe in args:
        while employe in liste:
            liste.remove(employe)
    return liste

employes_origine = ["Patrick", "Julie", "Simon", "Paul", "Pauline"]

employes_final = remove_employes(employes_origine, "Patrick", "Paul")
print(employes_final)

Réservé aux membres abonnés

Inscris-toi

Pour pouvoir prendre des notes et ajouter des favoris tu dois être abonné à Docstring.

Voir les formules

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu peux également visionner cette vidéo dans laquelle je t'explique comment poser ta question correctement et utiliser l'éditeur.

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.