Ich schrieb einen einfachen Dekorator, um Werte zwischenzuspeichern, falls ein Funktionsaufruf ''
zurückgeben würde. Gibt es eine bessere Möglichkeit, den Wert zu speichern als das Wörterbuch, das ich gerade verwende? Würde hasattr
mehr Python sein und wenn ja, wie zu implementieren? Wäre noch etwas besser?Wert zwischen Funktionsaufrufen speichern
def cache(func):
# Caching decorator
# if result is '', return saved value
# else save and return result
saved = {1:''}
@wraps(func)
def newfunc(*args, **kwargs):
result = func(*args, **kwargs)
if result:
saved[1] = result
return result
return saved[1]
return newfunc
Ich würde es nicht mehr pythonic, sondern nur ein dict von Attributen zu und von Ihrer Funktion übergeben ? –
@ cᴏʟᴅsᴘᴇᴇᴅ Ich verstehe Ihren Kommentar nicht. Bitte umformulieren. – foosion
'{'var1': val1, 'var2: val2}' Lassen Sie Ihre Funktion dies akzeptieren, verwenden Sie diese und geben Sie diese dann zurück. –