मैं अजगर सज्जाकार समझने की कोशिश कर रहा था और मैं करने के लिए एक बराबर प्रोग्राम लिखने के लिए कोशिश कर रहा था में __call__ इस एक:अजगर डेकोरेटर - वर्ग
class myDecorator(object):
def __init__(self, f):
print ("inside myDecorator.__init__()")
f() # Prove that function definition has completed
def __call__(self):
print ("inside myDecorator.__call__()")
@myDecorator
def aFunction():
print ("inside aFunction()")
print ("Finished decorating aFunction()")
aFunction()
समस्या मैं समझ नहीं कर रहा हूँ कैसे वर्ग के __call__
तरीका है अंत में aFunction()
पर कॉल करके बुलाया जा रहा है।
aFunction()
myDecorator.__call__(aFunction)
द्वारा प्रतिस्थापित किया जा रहा है। क्या आप कृपया मेरी मदद कर सकते हैं? सजावट के बिना समकक्ष कार्यक्रम कैसे होगा?
धन्यवाद!
फ़ंक्शन के तर्कों को स्वीकार करने के लिए def __call __ (self, * args, ** kwargs) का उपयोग करें: और उन्हें f – theannouncer