Decorator ist ein objektorientiertes Entwurfsmuster, mit dem vorhandene Klassen dynamisch verhalten werden können. Es ist eines der strukturellen Entwurfsmuster der Gang of Four.
Ich habe eine Funktion mit einem Dekorateur, die ich mit Hilfe der Python Mock- Bibliothek testen möchte . Ich möchte mock.patchden echten Dekorator durch einen nachgebildeten 'Bypass'-Dekorator ersetzen, der nur die Funktion aufruft. Was ich nicht herausfinden kann, ist, wie man den Patch anwendet, bevor der echte Dekorateur die Funktion …
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
Wie bekomme ich alle Methoden einer bestimmten Klasse A, die mit dem @ decorator2 dekoriert sind? class A(): def method_a(self): pass @decorator1 def method_b(self, b): pass @decorator2 def method_c(self, t=5): pass
Wenn ein Dekorateur mit einer Klasse definiert, wie transferiere ich automatisch über __name__, __module__und __doc__? Normalerweise würde ich den @wraps Dekorator von functools verwenden. Folgendes habe ich stattdessen für eine Klasse getan (dies ist nicht ganz mein Code): class memoized: """Decorator that caches a function's return value each time it …
Angenommen, ich habe Folgendes: def with_connection(f): def decorated(*args, **kwargs): f(get_connection(...), *args, **kwargs) return decorated @with_connection def spam(connection): # Do something Ich möchte die spamFunktion testen , ohne die Mühe zu haben, eine Verbindung herzustellen (oder was auch immer der Dekorateur tut). In Anbetracht spam, wie Streifen ich den Dekorateur aus …
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.