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.
Comment puis-je créer deux décorateurs en Python qui feraient ce qui suit? @makebold @makeitalic def say(): return "Hello" ... qui devrait retourner: "<b><i>Hello</i></b>" Je n'essaye pas de faire de HTMLcette façon dans une vraie application - j'essaie juste de comprendre comment les décorateurs et le chaînage des décorateurs fonctionnent.
Je voudrais comprendre comment fonctionne la propertyfonction intégrée . Ce qui m'embrouille, c'est qu'il propertypeut également être utilisé comme décorateur, mais il ne prend des arguments que lorsqu'il est utilisé comme fonction intégrée et non lorsqu'il est utilisé comme décorateur. Cet exemple provient de la documentation : class C(object): def …
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 …
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 exactement?
Je regardais le modèle de proxy, et pour moi, cela ressemble énormément aux modèles de décorateur, d'adaptateur et de pont. Suis-je en train de mal comprendre quelque chose? Quelle est la différence? Pourquoi devrais-je utiliser le modèle de proxy par rapport aux autres? Comment les avez-vous utilisés dans le passé …
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 pas. Peut-être existe-t-il une meilleure façon de résoudre ce problème. def execute_complete_reservation(test_case,insurance_mode): def inner_function(self,*args,**kwargs): self.test_create_qsf_query() test_case(self,*args,**kwargs) self.test_select_room_option() if …
Fermé. Cette question ne répond pas aux directives de débordement de pile . Il n'accepte pas actuellement les réponses. Voulez-vous améliorer cette question? Mettez à jour la question pour qu'elle soit sur le sujet de Stack Overflow. Fermé il y a 6 ans . Améliorez cette question Bien que j'aime …
Je reçois l'avertissement ... La prise en charge expérimentale des décorateurs est une fonctionnalité susceptible d'être modifiée dans une future version. Définissez l'option 'experimentalDecorators' pour supprimer cet avertissement. ... même si mes options de compilation dans tsconfig.json ont les paramètres suivants: "emitDecoratorMetadata": true, "experimentalDecorators": true, Ce qui est bizarre, c'est …
Étant donné la fonction Python: def a_method(arg1, arg2): pass Comment puis-je extraire le nombre et les noms des arguments. C'est-à-dire, étant donné que j'ai une référence à func, je veux que le func.[something]retour ("arg1", "arg2"). Le scénario d'utilisation pour cela est que j'ai un décorateur, et je souhaite utiliser les …
J'apprends Redux avec React et suis tombé sur ce code. Je ne sais pas s'il est spécifique à Redux ou non, mais j'ai vu l'extrait de code suivant dans l'un des exemples. @connect((state) => { return { key: state.a.b }; }) Bien que la fonctionnalité de connectsoit assez simple, mais …
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 Function>(target: TFunction) => TFunction | void; declare type PropertyDecorator = …
J'étudiais le modèle de décorateur tel que documenté dans GOF . S'il vous plaît, aidez-moi à comprendre le modèle de décorateur . Quelqu'un pourrait-il donner un exemple de cas d'utilisation où cela est utile dans le monde réel?
Lorsque j'essaie d'utiliser une méthode statique à partir du corps de la classe et que je définis la méthode statique en utilisant la staticmethodfonction intégrée en tant que décorateur, comme ceci: class Klass(object): @staticmethod # use as decorator def _stat_func(): return 42 _ANS = _stat_func() # call the staticmethod def …
Considérer ce qui suit: @property def name(self): if not hasattr(self, '_name'): # expensive calculation self._name = 1 + 1 return self._name Je suis nouveau, mais je pense que la mise en cache pourrait être prise en compte dans un décorateur. Seulement je n'en ai pas trouvé un comme ça;) PS …
Donc, je joue avec des décorateurs en Python 2.6, et j'ai du mal à les faire fonctionner. Voici mon fichier de classe: class testDec: @property def x(self): print 'called getter' return self._x @x.setter def x(self, value): print 'called setter' self._x = value Ce que je pensais que cela signifiait, c'était …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.