Maison > développement back-end > Tutoriel Python > Exemple de cascade de décorateurs en python

Exemple de cascade de décorateurs en python

黄舟
Libérer: 2017-10-03 05:45:42
original
1265 Les gens l'ont consulté

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")
Copier après la connexion

Le résultat la sortie est la suivante :


******************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hello
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
******************************
Copier après la connexion

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!

É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