Questions marquées «decorator»

Decorator est un modèle de conception orienté objet qui permet d'ajouter un comportement à des classes existantes de manière dynamique. C'est l'un des modèles de conception structurelle du Gang of Four.


11
Décorateurs Python dans les classes
Peut-on écrire quelque chose comme: class Test(object): def _decorator(self, foo): foo() @self._decorator def bar(self): pass Cela échoue: le soi dans @self est inconnu J'ai aussi essayé: @Test._decorator(self) qui échoue également: Test inconnu Je voudrais modifier temporairement certaines variables d'instance dans le décorateur, puis exécuter la méthode décorée, avant de les …
140 python  class  decorator  self 



8
Comment décorer une classe?
Dans Python 2.5, existe-t-il un moyen de créer un décorateur qui décore une classe? Plus précisément, je souhaite utiliser un décorateur pour ajouter un membre à une classe et changer le constructeur pour prendre une valeur pour ce membre. Vous recherchez quelque chose comme ce qui suit (qui a une …

7
décorateurs dans la lib standard python (@deprecated spécifiquement)
Je dois marquer les routines comme obsolètes, mais apparemment, il n'y a pas de décorateur de bibliothèque standard pour la désapprobation. Je connais les recettes et le module d'avertissement, mais ma question est: pourquoi n'y a-t-il pas de décorateur de bibliothèque standard pour cette tâche (commune)? Question supplémentaire: y a-t-il …
127 python  decorator 



6
Préserver les signatures des fonctions décorées
Supposons que j'ai écrit un décorateur qui fait quelque chose de très générique. Par exemple, il peut convertir tous les arguments en un type spécifique, effectuer la journalisation, implémenter la mémorisation, etc. Voici un exemple: def args_as_ints(f): def g(*args, **kwargs): args = [int(x) for x in args] kwargs = dict((k, …
111 python  decorator 

8
Décorateur de propriété de mémorisation / recherche différée Python
Récemment, j'ai parcouru une base de code existante contenant de nombreuses classes où les attributs d'instance reflètent les valeurs stockées dans une base de données. J'ai remanié beaucoup de ces attributs pour que leurs recherches dans la base de données soient différées, c'est-à-dire. ne pas être initialisé dans le constructeur …
109 python  decorator 

13
Un décorateur d'une méthode d'instance peut-il accéder à la classe?
J'ai quelque chose à peu près comme ce qui suit. Fondamentalement, j'ai besoin d'accéder à la classe d'une méthode d'instance à partir d'un décorateur utilisé sur la méthode d'instance dans sa définition. def decorator(view): # do something that requires view's class print view.im_class return view class ModelA(object): @decorator def a_method(self): …
109 python  decorator 

5
Webpack babel 6 décorateurs ES6
J'ai un projet écrit en ES6 avec webpack comme bundler. La plupart des transpilages fonctionnent bien, mais lorsque j'essaye d'inclure des décorateurs n'importe où, j'obtiens cette erreur: Decorators are not supported yet in 6.x pending proposal update. J'ai regardé le suivi des problèmes de Babel et je n'ai rien trouvé …

1
Ordre d'exécution du décorateur
def make_bold(fn): return lambda : "<b>" + fn() + "</b>" def make_italic(fn): return lambda : "<i>" + fn() + "</i>" @make_bold @make_italic def hello(): return "hello world" helloHTML = hello() Production: "<b><i>hello world</i></b>" Je comprends à peu près les décorateurs et comment cela fonctionne avec l'un d'entre eux dans la …


13
Comment créer un décorateur Python utilisable avec ou sans paramètres?
Je voudrais créer un décorateur Python qui peut être utilisé soit avec des paramètres: @redirect_output("somewhere.log") def foo(): .... ou sans eux (par exemple pour rediriger la sortie vers stderr par défaut): @redirect_output def foo(): .... Est-ce possible du tout? Notez que je ne cherche pas une solution différente au problème …
88 python  decorator 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.