Magazine
Spécialité(s)
Résumé
Utiliser un décorateur ou plutôt la syntaxe des décorateurs n'est pas très compliqué. En programmation orientée objet, pour définir des méthodes de classe, c'est un passage obligé. En revanche, comprendre et créer un décorateur est loin d'être aussi simple...
Pour réellement comprendre ce que sont les décorateurs et à quoi ils servent, nous allons devoir repartir de la définition même d'une fonction. Je pense que bon nombre de lecteurs ne ressentiront pas forcément l'utilité du début de l'article, ils le trouveront peut-être trop long et seront enclin à passer rapidement à la suite mais, encore une fois, la notion de décorateur, définie dans le PEP 318 [1], est loin d'être triviale. Je préfère donc commencer par les définitions de base pour être certain que nous nous basons tous sur les mêmes concepts. Comme nous allons effectuer beaucoup de tests, j'utiliserai un interpréteur interactif et vous verrez donc apparaître dans le code d'exemple le symbole du prompt >>>. À moins de le préciser explicitement, j'utiliserai Python 2.7.
1. Définition de fonctions
En Python, une fonction est définie à l'aide du mot-clé def et admet éventuellement des paramètres qui sont notés entre parenthèses. La valeur de retour de la fonction est renvoyée grâce à l'instruction return. Il faut noter qu'une fonction Python renvoie toujours une valeur. Ainsi, en cas d'omission d'un return, la fonction renverra de manière implicite la valeur None. Voici un exemple simple de fonction :
>>> def ma_fonction():
... return "Linux Magazine"
...
<…
Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
S'abonner à Connect
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
Déjà abonné ? Connectez-vous