उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
उन्नत फ़ंक्शंस
पॉलीमॉर्फ फंक्शन्स
इस अध्याय में, हम फंक्शन्स के नए प्रकारों की खोज करेंगे, उनके विभिन्न उपयोगों को समझेंगे और Python में कोडिंग करते समय उनका पूरा लाभ कैसे उठाया जा सकता है, यह जानेंगे।
इस स्तर में, हम पॉलिमॉर्फिक फंक्शन्स से शुरुआत करते हैं, ऐसे फंक्शन्स जो विभिन्न डेटा प्रकारों के साथ इस्तेमाल किए जा सकते हैं। यह एक ही फंक्शन का उपयोग विभिन्न कार्यों को करने के लिए करने जैसा है, एक सार्वभौमिक फंक्शन।

उद्देश्य
फसलों और सूअर के बच्चों की स्थिति जाँचें, और बहुरूपी फ़ंक्शंस का उपयोग करते हुए आपूर्ति शिपमेंट की पुष्टि करें।
बहुत जल्द कुछ फसलें होंगी जिन्हें काटा जाना है ताकि उन्हें बेचे जाने के लिए भेजा जा सके। सूअर के बच्चों को भी खाद्य सामग्री की डिलीवरी करनी है, यह देखना अच्छा रहेगा कि कितनी खाद्य सामग्री का ऑर्डर देना है। इन कार्यों को पूरा करने के लिए आप बहुरूपी फ़ंक्शंस का उपयोग कर सकते हैं, इस मामले में हम len() फ़ंक्शन का उपयोग करेंगे।
बहुरूपी फ़ंक्शंस ऐसे फ़ंक्शंस हैं जिन्हें विभिन्न डेटा प्रकारों के साथ इस्तेमाल किया जा सकता है। उदाहरण के लिए, len() फ़ंक्शन वस्तुओं की लंबाई गणना करने के लिए उपयोग किया जाता है, ये वस्तुएं विभिन्न डेटा प्रकार हो सकती हैं जैसे कि सूचियाँ, शब्दकोश और यहां तक कि स्ट्रिंग्स। पहले खेत में निचले X निशानों पर टैली की गिनती करें, फिर शेड में ऊपरी X निशानों की ओर बढ़ें।
सड़क के किनारे एक पेन के अंदर कई सूअर के बच्चे हैं, उनके नाम हैं "Peggle", "Peter", "Piper", "Pedro"। उनके नामों को एक सूची में डालें ताकि आप उनकी गिनती कर सकें। इस प्रकार: piglets = ["Peggle", "Peter", "Piper", "Pedro"] . len() फ़ंक्शन का उपयोग करके सूची की लंबाई संग्रहीत करने के लिए number नामक एक चर बनाएं, इस प्रकार: number = len(piglets) .
एक बार जब आप सूची और चर सेट कर लेते हैं, तो सूअर के पेन के सामने अंधेरे X निशान पर चलें, पेन का सामना करें और speak() फ़ंक्शन का उपयोग करके सूअर के बच्चों की गिनती करें। परिणाम के लिए number चर का उपयोग करें, इस प्रकार: player.speak("There are d% Piglets" % (number) )
सूअर के बच्चों की जाँच करने के बाद, खेत के पास हल्के X निशान पर चलें, फसलों का सामना करें और उनकी गिनती करें। तीन (3) प्रकार की फसलें हैं: "Tomatoes", "Pumpkins", "Eggplant"। प्रत्येक फसल की गिनती करें और उन्हें एक शब्दकोश में संग्रहित करें, इस प्रकार:
crops = {} crops["Tomato"] = number of tomato crops crops["Pumpkin"] = number of Pumpkin crops crops["Eggplant"] = number of Eggplant crops
एक बार जब आपने उचित मानों के साथ शब्दकोश भर लिया हो, तो speak() फ़ंक्शन के साथ len() फ़ंक्शन का उपयोग करके उपलब्ध फसलों के प्रकार की गिनती करें, इस प्रकार: player.speak("There are d% types of crops" % ( len(crops) ) ) .
जब आपने सूअर के बच्चों और फसलों दोनों की गिनती कर ली हो, तो शेड के दाहिने ओर स्थित गहरे X निशान पर चलें ताकि भेजे जाने वाले फसलों के ऑर्डर्स की जाँच हो सके। एक स्थायी चर है जिसका नाम order है और इसमें भेजे जाने वाले फसलों के ऑर्डर्स का एक स्ट्रिंग होता है। हमें यह पता करना है कि ऑर्डर्स क्या हैं और हमारे पास कितने ऑर्डर्स हैं, हम यह speak() फ़ंक्शन का उपयोग करके, स्ट्रिंग को अनपैक करने के साथ-साथ len() फ़ंक्शन का उपयोग करके कर सकते हैं।
player.speak( [*order] ) player.speak("There are d% orders of crops going out" % ( len(order) ) )
ब्रैकेट्स के अंदर स्ट्रिंग चर और * लगाने से ऑपरेटर सक्रिय होता है जो स्ट्रिंग को अनपैक करता है, उदाहरण के लिए: [*string]। इसका मतलब है कि यह एक स्ट्रिंग लेता है और प्रत्येक व्यक्तिगत अक्षर को सूची में विभाजित कर देता है, उदाहरण के लिए: [*string] आउटपुट देगा ['s', 't', 'r', 'i', 'n', 'g']। स्ट्रिंग पर len() का उपयोग करने से यह गिनता है कि स्ट्रिंग में कितने अक्षर हैं।
अभ्यास को समाप्त करने के लिए, शेड के दाहिने ओर स्थित सोने के X निशान पर चलें, और निर्धारित करें कि सूअर के बच्चों के लिए कितने पौंड खाद्य सामग्री डिलीवर करनी है। food नामक एक चर बनाएं, जिसका मान पहले बनाए गए number चर को 35 से गुणा करके निर्धारित करें, इस प्रकार: food = number * 35 .
शेड का सामना करते हुए, food चर के साथ speak() फ़ंक्शन का उपयोग करें ताकि डिलीवर की जाने वाली खाद्य सामग्री की मात्रा का पता चल सके, इस प्रकार: player.speak("There are d% pounds of food coming in" % (food) ) .