Maison > développement back-end > Tutoriel Python > Comment ajouter plusieurs décorateurs à une fonction en Python

Comment ajouter plusieurs décorateurs à une fonction en Python

anonymity
Libérer: 2020-09-17 16:11:26
original
4258 Les gens l'ont consulté

Comment ajouter plusieurs décorateurs à une fonction en Python : Vous pouvez utiliser @ avant le nom de la fonction pour ajouter des décorateurs un par un, tels que [@decorator1 @decorator2]. Les décorateurs, comme les objets, peuvent être affectés à une variable ou définis dans d'autres fonctions.

Comment ajouter plusieurs décorateurs à une fonction en Python

Les fonctions en Python sont des objets qui peuvent être attribués et définis. Plusieurs décorateurs doivent être ajoutés un par un en utilisant @ avant le nom de la fonction. De haut en bas, le processus opérationnel spécifique doit être effectué dans le décorateur de fonction.

Tout d'abord, nous savons que les fonctions sont des objets, les objets peuvent donc être affectés à une variable ou définis dans d'autres fonctions.

Il en va de même pour les décorateurs. Dans cet exemple, deux décorateurs sont personnalisés, puis deux décorateurs sont ajoutés à la fonction test(), et le résultat de l'exécution est normal.

#!/usr/bin/env python  
#coding:utf-8  
def decorator1(func):  
    def wrapper():  
        print 'hello python 之前'  
        func()  
    return wrapper  
  
def decorator2(func):  
    def wrapper():  
        func()  
        print 'hello python 之后'  
    return wrapper  
 
@decorator1  
@decorator2  
def test():  
    print 'hello python!'  
  
test()
Copier après la connexion

Résultat de l'exécution :

hello python 之前
hello python!
hello python 之后
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal