Decorators Usage
Leçon 5 sur 12 du cours Les décorateurs Python de Coddy.
En Python, un décorateur est une fonction qui prend une autre fonction en entrée et étend le comportement de la fonction d'entrée sans modifier explicitement son code. Les décorateurs sont un moyen puissant de modifier ou d'améliorer le comportement des fonctions de manière flexible et réutilisable.
Voici un exemple d'une fonction décoratrice simple :
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapperDans cet exemple, la fonction my_decorator prend une autre fonction func en entrée et renvoie une nouvelle fonction appelée wrapper.
La fonction wrapper ajoute un certain comportement avant et après l'appel de la fonction func.
Défi
FacileÉcrivez une fonction décorateur appelée debug qui prend une fonction func en entrée et renvoie une nouvelle fonction qui affiche le nom de func et la valeur de retour de func chaque fois qu'elle est appelée.
Pour obtenir le nom de
func, utilisezfunc.__name__.
Voici un exemple d'utilisation du décorateur debug :
def hello():
return "Hello"
debug_hello = debug(hello)
debug_hello()Dans cet exemple, nous utilisons le décorateur debug pour envelopper la fonction hello et créer une nouvelle fonction appelée debug_hello. Lorsque nous appelons debug_hello(), le décorateur affichera :
Calling hello
hello returned: HelloVous pouvez supposer que toutes les fonctions passées à
debugsont des fonctions sans arguments.
Essayez vous-même
Toutes les leçons de Les décorateurs Python
Entraînez-vous par vous-même : Compilateur Python en ligne