Tag: python-decorators
In Python-Dekoratoren sind Funktionen, die bequem verändern, Funktionen, Methoden oder Klassen, die mit einer besonderen syntax.
3
Antworten
In meinem Kolben-app kann ich problemlos erweitern Sie die Liste der Fehler behandelt, die von einer einzelnen benutzerdefinierten error-handler durch hinzufügen errorhandler Dekorateure für jeden error-code als mit @application.errorhandler(404) @application.errorhandler(401) @application.errorhandler(500) def http_error_handler(error): return flask.render_template('error.html', error=error), error.code
2
Antworten
Wie kann ich functools' lru_cache im inneren Klassen ohne Speicherverlust? Im folgenden minimalen Beispiel die foo Instanz wird nicht freigegeben werden, obwohl aus Umfang und ohne referrer (andere als die lru_cache). from functools import lru_cache class BigClass:
6
Antworten
Ist es möglich, Dekorator-Funktion bedingt. Zum Beispiel, ich möchte zu schmücken, die Funktion foo() mit einer timer-Funktion (timeit) nur doing_performance_analysis ist True (siehe Pseudo-code unten). if doing_performance_analysis: @timeit def foo(): """ do something, timeit function will return
3
Antworten
Sind Python-Dekoratoren, die gleiche oder ähnliche, oder sich grundlegend von Java-Annotationen oder in etwas wie Spring AOP oder Aspekt J? Python hat auch Annotationen, also ich nehme an, Sie sind grundverschieden. mögliche Duplikate von "@" Dekorateur (in
4
Antworten
Habe ich eine decorator wie folgt Aussehen. def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' Möchte ich zur Verbesserung dieser Dekorator zu akzeptieren, ein anderes argument, wie unten def myDecorator(test_func,logIt): if logIt:
3
Antworten
Betrachten dieses kleine Beispiel: import datetime as dt class Timed(object): def __init__(self, f): self.func = f def __call__(self, *args, **kwargs): start = dt.datetime.now() ret = self.func(*args, **kwargs) time = dt.datetime.now() - start ret["time"] = time return ret
1
Antworten
Wie kann ich zwei Dekoratoren in Python, das folgende? @makebold @makeitalic def say(): return "Hello" ...was zurückgegeben werden soll: "<b><i>Hello</i></b>" Ich versuche nicht zu machen HTML diese Weise in einer realen Anwendung - nur versuchen, zu verstehen,
25
Antworten
Was ist der Unterschied zwischen einer Funktion dekoriert mit @staticmethod und eine verziert mit @classmethod? InformationsquelleAutor der Frage Daryl Spitzer | 2008-09-25
1
Antworten
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() Ausgabe: "<b><i>hello world</i></b>" Ich in etwa verstehen,
10
Antworten
Ich bin auf der Suche auf einige Python-code, der auf @ symbol, aber ich habe keine Ahnung, was es tut. Ich auch nicht wissen, was zu suchen wie die Suche Python docs oder Google nicht relevante Ergebnisse,
7
Antworten
Ich würde gerne verstehen, wie die built-in Funktion property funktioniert. Was mich verwirrt ist, dass property können auch verwendet werden, als Dekorateur, aber es braucht nur Argumente wenn verwendet, wie eine eingebaute Funktion und nicht als Dekorateur.
4
Antworten
Habe ich eine decorator wie folgt Aussehen. def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' Möchte ich zur Verbesserung dieser Dekorator zu akzeptieren, ein anderes argument, wie unten def myDecorator(test_func,logIt): if logIt:
11
Antworten
Ich bin daran interessiert, wie zu verwenden @property in Python. Ich habe gelesen, die python docs und Beispiele gibt es, meiner Meinung nach, ist nur ein Spielzeug-code: class C(object): def __init__(self): self._x = None @property def x(self):
11
Antworten
Sehe ich Muster, wie def __init__(self, x, y, z): ... self.x = x self.y = y self.z = z ... ziemlich Häufig, oft mit viel mehr Parametern. Ist es ein guter Weg, um zu vermeiden, diese Art
6
Antworten
[Disclaimer: es kann mehr pythonic Möglichkeiten, das zu tun, was ich tun will, aber ich will wissen, wie python ' s scoping funktioniert hier] Ich versuche einen Weg zu finden, um einen Dekorator, der etwas tut, wie
7
Antworten
Ich würde gerne definieren Sie einige Allgemeine Dekorateure, Argumente prüfen, bevor Sie einige Funktionen. Etwas wie: @checkArguments(types = ['int', 'float']) def myFunction(thisVarIsAnInt, thisVarIsAFloat) ''' Here my code ''' pass Seite Hinweise: Typ-überprüfung ist nur hier, um ein