मैं की तरहपायथन सजावट के लिए अतिरिक्त तर्क कैसे पारित करें?
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() takes exactly 2 arguments (1 given)
क्यों है समारोह स्वचालित रूप से पारित नहीं हुआ? मैं सजावटी समारोह में फ़ंक्शन को स्पष्ट रूप से कैसे पास करूं?
बाल्की: कृपया अपने तर्क के रूप में बूलियन उपयोग करने से बचें, यह एक जी.डी. दृष्टिकोण और कोड के readliability –
@KitHo को कम नहीं है - यह एक बूलियन ध्वज है, तो एक बूलियन मान सही दृष्टिकोण का उपयोग कर रहा है। – AKX
@ किटहो - "जीडी" क्या है? अच्छी है"? –