Python 9.1 : Les fonctions : Notions avancées

Bienvenue dans cette nouvelle section du cours Python consacrée aux fonctions avancées. Nous allons aller plus loin que les fonctions classiques en abordant trois notions essentielles : les fonctions callback, les fonctions lambda et les fonctions récursives. C'est une étape importante pour gagner en expressivité dans le code.

Notions revues et nouvelles

  • Notions revues : boucles, return, variables, break et conditions.
  • Fonctions callback : passer une fonction en argument.
  • Fonctions lambda : créer des fonctions anonymes courtes.
  • Fonctions récursives : une fonction qui s'appelle elle-même.

L'objectif est double : consolider les bases vues précédemment et introduire des outils plus puissants utilisés au quotidien par les développeurs Python. Les callbacks sont au cœur de nombreuses bibliothèques (asynchrone, événements). Les lambdas sont parfaits pour des opérations rapides avec map, filter ou sorted. Et les fonctions récursives permettent de résoudre élégamment certains problèmes comme les factorielles ou les arborescences.

Pour démarrer cette section, nous créons un nouveau projet dans notre IDE que nous nommons « fonctions avancées ». Nous partons d'un fichier vide pour ne pas réutiliser le code des sections précédentes. Dans la prochaine vidéo, nous attaquerons concrètement les fonctions récursives avec des exemples pas à pas. À très bientôt pour la suite du cours.