PaliSkill
Python intermédiaire

Leçon 4 / 9 — Chapitre 2: Fonctions avancées

*args et **kwargs : un nombre variable d'arguments

Parfois, on ne connait pas à l'avance combien d'arguments une fonction va recevoir. *args récupère tous les arguments positionnels supplémentaires sous forme de tuple ; **kwargs récupère tous les arguments nommés supplémentaires sous forme de dictionnaire.

def total_ventes(*montants):
    return sum(montants)

print(total_ventes(10, 20, 30))
print(total_ventes(5))

Ce code affiche 60, puis 5. La fonction accepte ici n'importe quel nombre d'arguments : montants devient un tuple contenant tout ce qui a ete passe, et sum() fonctionne normalement dessus.

def afficher_fiche(**infos):
    for cle, valeur in infos.items():
        print(cle, ":", valeur)

afficher_fiche(produit="riz", prix=5)

Ce code affiche produit : riz puis prix : 5. infos devient un dictionnaire {"produit": "riz", "prix": 5}, exactement comme les dictionnaires déjà vus au chapitre précédent.

Les noms args et kwargs ne sont que des conventions : ce sont les etoiles * et ** qui comptent, pas le nom choisi.

A vous de jouer : ecrivez une fonction qui accepte *args et affiche le nombre d'arguments recus avec len(args), puis appelez-la avec des nombres d'arguments différents.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 85 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès