मेरे पास नीचे की तरह एक डेकोरेटर है।
def myDecorator(test_func):
return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
return test_func
@myDecorator
def someFunc():
print 'hello'
मैं नीचे की तरह एक और तर्क स्वीकार करने के लिए इस डेकोरेटर को बढ़ाना चाहता हूं
def myDecorator(test_func,logIt):
if logIt:
print "Calling Function: " + test_func.__name__
return callSomeWrapper(test_func)
@myDecorator(False)
def someFunc():
print 'Hello'
लेकिन यह कोड त्रुटि देता है,
TypeError: myDecorator () बिल्कुल 2 तर्क देता है (1 दिया गया)
क्यों फ़ंक्शन स्वचालित रूप से पारित नहीं होता है? मैं फ़ंक्शन डेकोरेटर फ़ंक्शन को स्पष्ट रूप से कैसे पास करूं?