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