Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fermetures | Portée des Variables
Techniques Python Intermédiaires
course content

Contenu du cours

Techniques Python Intermédiaires

Techniques Python Intermédiaires

1. Emballage et Déballage
2. Arguments dans les Fonctions
3. Fonction Comme Argument
4. Portée des Variables
5. Décorateurs

book
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.

12345678910111213
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))
copy

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.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 6
We're sorry to hear that something went wrong. What happened?
some-alt