कहें कि आपके पास निम्नलिखित सजावट है। इसे सजाने वाले सभी कार्यों के लिए कुछ सूची संदर्भों में शामिल होने के लिए संशोधित कैसे किया जा सकता है?एक सजावट के भीतर पंजीकरण कैसे करें यह सभी कार्यों को सजाने के लिए?
def memoize(obj):
cache = obj.cache = {}
@functools.wraps(obj)
def memoizer(*args, **kwargs):
if args not in cache:
cache[args] = obj(*args, **kwargs)
return cache[args]
return memoizer
@memoize
def foo(bar):
return bar ** 3
क्या आपको परवाह है कि "कुछ सूची" संग्रहित की जाती है? क्या आप चाहते हैं कि यह वैश्विक वैरिएबल हो या किसी भी तरह सजावटी से जुड़ा हुआ हो? – BrenBarn
इसे किसी विधि के बजाय कक्षा बनाते हैं ... फिर प्रत्येक ओबीजे को '__init__' –
@BrenBarn पर जोड़ने के लिए स्थिर चर का उपयोग करें, मुझे वास्तव में परवाह नहीं है कि सूची कहां संग्रहीत की जाती है। –