उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
डेकोरेटर्स
डेकोरेटर्स का उपयोग करना
कस्टम फ़ंक्शंस के उपयोग की एक विस्तृत श्रृंखला होती है, हालाँकि कभी-कभी आप किसी मौजूदा फ़ंक्शन में अतिरिक्त कार्यक्षमता जोड़ना चाह सकते हैं। इसे डेकोरेटर कहा जाता है, यह एक ऐसा फ़ंक्शन है जिसे मौजूदा फ़ंक्शन को बढ़ाने के लिए डिज़ाइन किया गया है, इसलिए इसका नाम भी यही है।
इस स्तर के लिए, ओवन को खाद्य तैयारी के लिए तैयार करने हेतु प्रीप करना आवश्यक है। ओवन में आग की लकड़ी डालने के बीच open() और close() का उपयोग करने के लिए डेकोरेटर्स का उपयोग करें।

उद्देश्य
डेकोरेटर्स का उपयोग करके खाना पकाने के लिए तैयारी करने हेतु ओवन में आग की लकड़ी भरें और ओवन को सेट करें।
ईंट के ओवन को तैयार किया जाना चाहिए ताकि आप शाम के बाद भोजन बेक कर सकें। ओवन बंद और खाली हैं और उन्हें जलाने के लिए कुछ आग की लकड़ी की आवश्यकता है। थोड़ी आग की लकड़ी उठाएं और उसे ओवन में डाल दें ताकि आप खाना पकाना शुरू कर सकें। हालांकि आप इसे मैन्युअल रूप से या एक कस्टम फ़ंक्शन का उपयोग करके कर सकते हैं, प्रक्रिया को डेकोरेटर्स का उपयोग करके तेज किया जा सकता है।
डेकोरेटर्स ऐसे एड-ऑन हैं जिन्हें किसी कस्टम फ़ंक्शन में जोड़ा जा सकता है ताकि इसकी कार्यक्षमता को आवश्यकता अनुसार विस्तारित किया जा सके बिना इसे शर्तों के साथ जटिल किए।
# Decorator, adds extra functionality to another function
def load_wood(func):
def load():
player.open()
func()
player.close()
return load
# Custom function that can be decorated
def add_wood():
player.place("firewood")
player.speak("Three logs placed in oven")
# Decorate the custom function
prep_oven = load_wood(add_wood)
मानचित्र के निचले हिस्से में स्थित स्टोरेम में जाएँ और लॉग बुंडलों के चार (4) टुकड़े एकत्र करें।
गोल्ड X मार्क तक जाएँ और read() फ़ंक्शन का उपयोग करके उस बार पर लगे मेमो की जाँच करें जिसमें दर्शाया गया है कि ओवन की तापमान कैसे सेट किया जाना चाहिए।
पॉप-अप में दी गई जानकारी नोट कर लें क्योंकि आपको बाद में इसकी आवश्यकता होगी।
इसके बाद, ओवन के पास स्थित हल्के X मार्क्स पर जाएँ और आग की लकड़ी रखने के लिए डेकोरेटेड फ़ंक्शन का उपयोग करें, इस प्रकार: prep_oven() ।
जैसे ही आप ओवन में आग की लकड़ी डालते हैं, रंगीन कालीनों पर स्थित गहरे X मार्क्स की ओर जाएँ और question() async फ़ंक्शन का उपयोग करके ओवन का तापमान सेट करें।
सहायक फ़ंक्शन पहले से सेटअप किया जाएगा, जिसका नाम set_temperature() होगा, और प्रश्न का आपका उत्तर निर्धारित करेगा कि तापमान High या Medium पर सेट किया जाएगा।
तापमान को सेट करने के लिए फ़ंक्शन लिखें और पहले पढ़े गए मेमो के आधार पर प्रश्न का उत्तर दें, प्रत्येक तापमान को संबंधित रंगीन कालीन के अनुसार सेट करें।
ध्यान रखें कि async फ़ंक्शन का उपयोग करते समय await का उपयोग करें, इस प्रकार: await set_temperature()
जब आप सभी चार (4) ओवन को तैयार और सेट कर लेंगे, तो आपने स्तर पूरा कर लिया होगा।