Python : Décorateurs

De Justine's wiki
Aller à la navigation Aller à la recherche

Base

Un décorateur est un objet permettant de modifier le comportement d'une fonction sans avoir à intervenir à l'intérieur de celle-ci.

Exemple simple

<syntaxhighlight lang='python'>

  1. ! /usr/bin/env python3
  2. coding: utf-8
  1. Définition d'un décorateur, qui fait des choses avec une fonction

def decorateur(func):

   
   Mon décorateur prend une fonction en paramètre et la renvoie décorée
   
   print("---------")
   return func
      1. PREMIERE METHODE
  1. on passe le décorateur après la définition de la fonction
  2. Fonction de base

def bonjour():

   print("Bonjour")

print(f"Avant") bonjour()

  1. On utilise le décorateur pour la fonction bonjour

bonjour = decorateur(bonjour)

print(f"Apres :") bonjour()

      1. SECONDE METHODE
  1. On passe le décorateur avant la fonction

@decorateur def salut():

   print("Salut")

salut() </syntaxhighlight>