Contenu du cours
Techniques Python Intermédiaires
Techniques Python Intermédiaires
Fermetures
Les closures en Python se produisent lorsqu'une fonction interne est enveloppée dans une fonction externe, référant ainsi efficacement une valeur de la portée externe. Elles sont utiles pour contourner les variables globales.
Les closures sont utiles lorsque vous avez quelques méthodes à utiliser mais pas assez pour créer une classe entière. Elles aident à garder les choses simples et propres. Cependant, si vous avez beaucoup de méthodes et d'attributs à gérer, il est préférable d'utiliser une classe à la place.
Regardons quelques exemples pour mieux comprendre cela.
def calculate_income(percent): def annual_income(amount): return amount * percent / 100 return annual_income # function returned by outer function interest_rate_3 = calculate_income(3) # function assigned to the variable interest_rate_7 = calculate_income(7) print(interest_rate_3(1500)) print(interest_rate_3(2000)) print(interest_rate_7(1500)) print(interest_rate_7(2000))
Cette fonction calcule le revenu annuel pour un dépôt en espèces. La fonctionnalité de fermeture nous permet de stocker une fonction dans une variable avec une valeur de pourcentage spécifique, nous permettant de la réutiliser plusieurs fois.
En résumé, les fermetures vous permettent de créer et de retourner des fonctions qui "se souviennent" des valeurs de leur portée englobante, et cela est particulièrement utile pour créer des fonctions spécialisées avec un comportement prédéfini basé sur certains paramètres.
Merci pour vos commentaires !