Votre navigateur n'est pas à jour !

Merci de mettre à jour votre navigateur pour utiliser mon blog. Mettre à jour mon navigateur maintenant

×

Python - Quelles usages pour les décorateurs

Date de publication 22 mars 2018
Aujourd'hui nous allons voir les décorateurs par le code. Un peu de théorie avant.

Un décorateur est un mécanisme qui prend en paramètre une fonction et retourne une fonction. Le décorateur s'execute au moment de la définition de la méthode et non lors de l'appel.
Par une simple annotation au dessus de la méthode, nous mettons en place un décorateur
En faite python fait cela deco(myMethod)

Voici un cas simple :
Il est aussi possible de faire un décorateur avec une méthode à l'intérieur
On peut aussi faire un décorateur sous forme de classe. La subtilité est d'utiliser la métaclasse __call__ pour éxecuter la méthode.
On peut envisager l'usage des multiples décorations. L'ordre est important car le 2eme décorateur est injecté dans le 1er décorateur qui lui-même prend la méthode décorée

Voilà la théorie exposée, maintenant à quoi cela sert il ?
  • Faire un wrapper
  • Mettre des logs
  • Déprécier une methode
  • Gérer les permisssions, validation des données ...

Si vous avez d'autres cas d'usages n'hésitez pas à les partager en commentaires ;-)
blog comments powered by Disqus