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.

946
Création d'un singleton en Python

Cette question n'est pas pour la discussion de savoir si le modèle de conception singleton est souhaitable ou non , ou pour toute guerre religieuse, mais pour discuter de la meilleure façon de mettre en œuvre ce modèle en Python de la manière la plus pythonique. Dans ce cas, je définis «le plus...

651
Que fait functools.wraps?

Dans un commentaire sur cette réponse à une autre question , quelqu'un a dit qu'il n'était pas sûr de ce qu'il functools.wrapsfaisait. Donc, je pose cette question afin qu'il y en ait un enregistrement sur StackOverflow pour référence future: que fait functools.wraps-il

401
Des décorateurs avec des paramètres?

J'ai un problème avec le transfert de la variable 'insurance_mode' par le décorateur. Je le ferais par la déclaration de décorateur suivante: @execute_complete_reservation(True) def test_booking_gta_object(self): self.test_select_gta_object() mais malheureusement, cette déclaration ne fonctionne...

207
Comment implémenter un décorateur tapuscrit?

TypeScript 1.5 a maintenant des décorateurs . Quelqu'un pourrait-il fournir un exemple simple démontrant la bonne façon d'implémenter un décorateur et décrire ce que signifient les arguments dans les signatures de décorateur valides possibles? declare type ClassDecorator = <TFunction extends...

140
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...

129
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...