फ़ंक्शन पर आवरण
आप अभिवादन से पहले एक लाइन लिखवाना चाहते हैं। आप greet को kai के साथ बुलाते हैं। स्क्रीन की पहली लाइन door होगी। दूसरी लाइन hi kai होगी।
def announce(fn):
def wrapped(name):
print("door")
return fn(name)
return wrapped
@announce
def greet(name):
return "hi " + name
print(greet("kai"))
स्क्रीन पर दो लाइनें दिखती हैं। पहली लाइन door है। दूसरी लाइन hi kai है। आपने print(greet("kai")) लिखा। यह चलना greet के अंदर की return लाइन से शुरू नहीं होता। @announce, greet के चारों ओर wrapped रख देता है, इसलिए greet("kai") पहले wrapped को चलाता है। wrapped के अंदर का print door लिखता है। फिर wrapped अभिवादन चलाता है, और अभिवादन hi kai लौटाता है। greet("kai") के चारों ओर का print वह दूसरी लाइन hi kai लिखता है। प्रोग्राम पूरा हो जाता है। तीसरी लाइन नहीं है।
door अभिवादन नहीं है। अभिवादन hi kai है। अगर greet के ऊपर @announce वाली लाइन न होती, तो print(greet("kai")) स्क्रीन पर सिर्फ़ hi kai लिखता। वह प्रोग्राम यह नहीं है। इस प्रोग्राम में @announce है, इसलिए पहली लाइन door है और दूसरी लाइन hi kai है।
अब आप किसी फ़ंक्शन के चारों ओर आवरण रख सकते हैं, ताकि फ़ंक्शन की अपनी लाइन से पहले एक लाइन चले। स्क्रीन पर door, फिर hi kai दिखता है। अगला पन्ना एक नाम के बगल में एक टाइप लिखता है।
अभिवादन से पहले एक लाइन
wrapped के अंदर का print door लिखता है, फिर अभिवादन hi kai लिखता है: स्क्रीन पर दो लाइनें हैं। अगला पन्ना एक नाम के बगल में एक टाइप लिखता है।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी