Maison > Article > développement back-end > Exemple de cascade de décorateurs en python
Un décorateur est essentiellement une fonction Python, qui permet à d'autres fonctions d'ajouter des fonctions supplémentaires sans apporter de modifications au code. L'article suivant vous présente principalement l'utilisation des cascades de décorateurs en Python, les amis dans le besoin peuvent s'y référer. apprendre ensemble.
Préface
J'ai récemment appris Python et j'ai appris pourquoi utiliser des décorateurs, et je comprends aussi ce que sont les décorateurs, mais vous pouvez Vous demanderez, si vous pouvez ajouter une autre couche de décorateurs devant les décorateurs, que se passera-t-il ? Tout comme dans un bâtiment, les couches sont empilées les unes sur les autres. En fait, c'est possible. Apprenons maintenant cette technologie d'empilement, qui est similaire à l'héritage de classe et peut être héritée en continu. Pas grand chose à dire ci-dessous, jetons un œil à l’introduction détaillée.
Le code est le suivant :
#python 3.6 def star(func): def inner(*args, **kwargs): print("*" * 30) func(*args, **kwargs) print("*" * 30) return inner def percent(func): def inner(*args, **kwargs): print("%" * 30) func(*args, **kwargs) print("%" * 30) return inner @star @percent def printer(msg): print(msg) printer("Hello")
Le résultat la sortie est la suivante :
****************************** %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Hello %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ******************************
Dans cet exemple, l'astérisque est affiché en premier, c'est-à-dire que l'étoile du décorateur de première couche est appelée en premier, et puis le pourcentage du décorateur de deuxième couche est appelé. Enfin, la fonction imprimante est appelée.
Résumé
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!