Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन: फ़ंक्शन से एकाधिक मान लौटाएं

पायथन: फ़ंक्शन से एकाधिक मान लौटाएं

आप उन मानों को शब्दकोश, टपल, या सूची में बंडल करके एकाधिक मान लौटा सकते हैं। ये डेटा प्रकार आपको एकाधिक समान मान संग्रहीत करने देते हैं। आप अपने मुख्य प्रोग्राम में उनसे व्यक्तिगत मान निकाल सकते हैं। या, आप एकाधिक मान पास कर सकते हैं और उन्हें अल्पविराम से अलग कर सकते हैं।

पायथन फ़ंक्शंस एकाधिक मान लौटा सकते हैं। एकाधिक मान लौटाने के लिए, आप अपने मुख्य प्रोग्राम को या तो शब्दकोश, पायथन टपल, या सूची लौटा सकते हैं।

यह गाइड इन दो विधियों का उपयोग करके मुख्य प्रोग्राम में एकाधिक मान लौटाने पर चर्चा करता है। चलो शुरू करते हैं।

पायथन: एकाधिक मान लौटाएं

आप निम्न का उपयोग करके पायथन फ़ंक्शन से एकाधिक मान लौटा सकते हैं:

  • एक सूची जिसमें एकाधिक मान हों।
  • एकाधिक मानों के साथ एक टपल।
  • एकाधिक रिकॉर्ड के साथ एक शब्दकोश।
  • अल्पविराम से अलग एकाधिक मान।

उपरोक्त सभी डेटा प्रकार आपको एकाधिक मान संग्रहीत करने देते हैं। अल्पविराम से अलग एकाधिक मान लौटाने का समाधान सबसे सुंदर है। ऐसा इसलिए है क्योंकि यह दृष्टिकोण आपका इरादा स्पष्ट करता है: अपने मुख्य प्रोग्राम में एकाधिक अलग-अलग मान वापस करना।

पायथन return स्टेटमेंट फ़ंक्शन से मुख्य प्रोग्राम में मान भेजता है। इस स्टेटमेंट का उपयोग आमतौर पर मुख्य प्रोग्राम में एक मान लौटाने के लिए किया जाता है। इसका उपयोग मुख्य प्रोग्राम में एकाधिक मान लौटाने के लिए किया जा सकता है।

पायथन: अल्पविराम के साथ एकाधिक मान लौटाएं

आप उन मानों को अल्पविराम से अलग करके एकाधिक मान लौटा सकते हैं जिन्हें आप लौटाना चाहते हैं। ये मान आपके पायथन return स्टेटमेंट के बाद दिखाई देने चाहिए।

हम एक प्रोग्राम लिखने जा रहे हैं जो इलेक्ट्रॉनिक्स स्टोर पर की गई बिक्री की संख्या की गणना करता है। हम केवल $500 से अधिक मूल्य की बिक्री गिनने जा रहे हैं। हमारा प्रोग्राम प्रत्येक बिक्री का औसत मूल्य भी गणना करेगा।

शुरू करने के लिए, आइए एक पायथन ऐरे परिभाषित करें जिसमें बिक्री की सूची हो:

sales = [59.99, 240.00, 655.25, 75.99]

अगला, एक पायथन फ़ंक्शन लिखें जो $500 से अधिक मूल्य की बिक्री की संख्या और खरीद का औसत मूल्य गणना करता है:

def calculate_data(sales):
    over_limit = 0
    for s in sales:
        if s > 500:
            over_limit += 1
    average_purchase = sum(sales) / len(sales)
    return over_limit, average_purchase

हमारा फ़ंक्शन फॉर लूप का उपयोग करके हमारी सूची में प्रत्येक बिक्री पर पुनरावृति करता है। यदि बिक्री $500 से अधिक मूल्य की है, तो हमारा "over_limit" पायथन वेरिएबल एक से बढ़ जाता है। फिर हम सभी बिक्री के कुल मूल्य को बिक्री की संख्या से विभाजित करके खरीद का औसत मूल्य गणना करते हैं।

हमारे फ़ंक्शन के अंत में, "over_limit" और "average_purchase" के मानों को हमारे मुख्य प्रोग्राम में लौटाने के लिए return स्टेटमेंट का उपयोग करें।

बाकी सब जो करना है वह हमारे फ़ंक्शन को कॉल करना और हमारे प्रोग्राम द्वारा गणना किए गए डेटा को कंसोल पर प्रदर्शित करना है:

over_limit, average_purchase = calculate_data(sales)
print("{} sales were made over $500. The average purchase was ${}.".format(over_limit, round(average_purchase)))

हम round() विधि का उपयोग करके औसत खरीद को दो दशमलव स्थानों तक राउंड करते हैं। हमारा कोड एक संदेश प्रिंट करता है जो हमें उन मानों के बारे में सूचित करता है जिनकी हमने गणना की है। आइए अपना प्रोग्राम चलाएं:

1 sales were made over $500. The average purchase was $258.

हमारा प्रोग्राम सफलतापूर्वक हमें बताता है कि $500 से अधिक मूल्य की कितनी बिक्री हुई और खरीद का औसत मूल्य क्या था।

यह कोड काम करता है क्योंकि "return" स्टेटमेंट हमारे मानों को टपल में बदल देता है और हमारे मुख्य प्रोग्राम में टपल सूची लौटाता है। हम फिर इस टपल को इस कोड की पंक्ति पर दो वेरिएबल्स में अनपैक करते हैं:

over_limit, average_purchase = calculate_data(sales)

पायथन: सूची या टपल के साथ एकाधिक मान लौटाएं

सूचियाँ और टपल दोनों आपको एकाधिक मान संग्रहीत करने देते हैं। इसका मतलब है कि हम उनका उपयोग अपने मुख्य प्रोग्राम में एकाधिक मान लौटाने के लिए कर सकते हैं।

सूची या टपल का उपयोग करना सबसे अच्छा है यदि आप जो मान लौटा रहे हैं उनका किसी प्रकार का संबंध है। लेकिन, आप किसी भी मान संग्रह को लौटाने के लिए इस दृष्टिकोण का उपयोग कर सकते हैं।

हम औसत खरीद आकार और $500 से अधिक मूल्य की खरीद की संख्या को अपने मुख्य प्रोग्राम में लौटाने जा रहे हैं। ऐसा करने के लिए, आइए अपने पहले के उदाहरण पर वापस जाएं और सूची का उपयोग करने के लिए एक छोटा सा बदलाव करें:

def calculate_data(sales):
    over_limit = 0
    for s in sales:
        if s > 500:
            over_limit += 1
    average_purchase = sum(sales) / len(sales)
    return [over_limit, average_purchase]

हमने अभी अपने मानों को एकल सूची में अलग किया है। हमारी सूची में क्रमशः $500 से अधिक मूल्य की खरीद की संख्या और औसत खरीद का मूल्य होता है।

हम टपल डेटा संरचना भी लौटा सकते हैं। ऐसा करने के लिए, हम अपने स्क्वायर ब्रैकेट्स को कर्ली ब्रैकेट्स से बदल देंगे। ध्यान में रखने वाला बड़ा कारक यह है कि टपल्स में डुप्लिकेट मान नहीं हो सकते। यदि संभावना है कि आप अपने मुख्य प्रोग्राम को पास करने वाले दो मान बराबर होंगे, तो टपल का उपयोग करने से बचें।

हमारे मुख्य प्रोग्राम में इन मानों को एक्सेस करने के लिए, हमें इंडेक्सिंग का उपयोग करना होगा:

values = calculate_data(sales)
print("{} sales were made over $500. The average purchase was ${}.".format(values[0], round(values[1])))

हम अपने calculate_data() फ़ंक्शन द्वारा लौटाई गई सूची में पहले मान को एक्सेस करने के लिए values[0] सिंटैक्स का उपयोग करते हैं। यह हमारे फ़ंक्शन में "over_limit" के मान से मेल खाता है। हम औसत खरीद के मान को एक्सेस करने के लिए values[1] सिंटैक्स का उपयोग करते हैं।

हमारा कोड निम्न लौटाता है:

1 sales were made over $500. The average purchase was $258.

हमारा कोड हमारे पिछले उदाहरण की तरह ही काम करता है, लेकिन इस बार हमने अपने कोड में मानों को अलग करने के लिए सूची का उपयोग किया है।

पायथन: शब्दकोश के साथ एकाधिक मान लौटाएं

हम फ़ंक्शन से एकाधिक मान लौटाने के लिए शब्दकोश का उपयोग कर सकते हैं।

हमारे पिछले उदाहरण में, हमने केवल अपने मुख्य प्रोग्राम में दो मान लौटाए। इसने अनपैकिंग सिंटैक्स का उपयोग करना सुविधाजनक बना दिया (जहां आप मानों को "अनपैक" करते हैं एकाधिक वेरिएबल्स में)।

यदि हम अधिक मानों के साथ काम कर रहे थे, तो प्रत्येक मान को लेबल के साथ जोड़ने वाला शब्दकोश लौटाना आसान हो सकता है। आइए अपने पिछले फ़ंक्शन को संशोधित करें ताकि मुख्य प्रोग्राम में एकाधिक मान लौटाने के लिए शब्दकोश का उपयोग किया जा सके:

def calculate_data(sales):
    over_limit = 0
    for s in sales:
        if s > 500:
            over_limit += 1
    average_purchase = sum(sales) / len(sales)
    return {
        "limit": over_limit,
        "average": average_purchase
    }

हमारा फ़ंक्शन दो कुंजियों और मानों के साथ एक शब्दकोश लौटाता है। कुंजियाँ, "limit" और "average", प्रत्येक मान की विशिष्ट पहचान करने के लिए उपयोग की जा सकती हैं। अब हमें अपने फ़ंक्शन कॉल और प्रिंट स्टेटमेंट को इस नए सिंटैक्स का समर्थन करने के लिए संशोधित करना होगा:

values = calculate_data(sales)
print("{} sales were made over $500. The average purchase was ${}.".format(values["limit"], round(values["average"])))

हम शब्दकोश को अपने मुख्य प्रोग्राम में वापस लौटाते हैं। हम इस शब्दकोश को "values" वेरिएबल को असाइन करते हैं। फिर, हम "limit" और "average" के मानों को प्राप्त करने के लिए इंडेक्सिंग का उपयोग करते हैं।

आइए अपना प्रोग्राम चलाएं:

1 sales were made over $500. The average purchase was $258.

हमारा प्रोग्राम पहले की तरह ही प्रतिक्रिया लौटाता है। यह अपेक्षित है क्योंकि हमने केवल उस तरीके को बदला है जिसमें हम अपने मुख्य प्रोग्राम में मान लौटाते हैं। हमारा गणना तर्क वही रहता है।

निष्कर्ष

आप फ़ंक्शन से या तो शब्दकोश, टपल, या सूची का उपयोग करके एकाधिक मान लौटा सकते हैं। ये डेटा प्रकार सभी आपको एकाधिक मान संग्रहीत करने देते हैं। एकाधिक मान लौटाने के लिए कोई विशिष्ट सिंटैक्स नहीं है, लेकिन ये विधियां अच्छे विकल्प के रूप में कार्य करती हैं।

अल्पविराम से अलग विधि अधिक संक्षिप्त और समझने में आसान है यदि आप मानों के छोटे सेट के साथ काम कर रहे हैं। मान लीजिए आप फ़ंक्शन से मानों की एक बड़ी श्रृंखला लौटा रहे हैं। आप मुख्य प्रोग्राम में एकाधिक मान वापस भेजने के लिए शब्दकोश का उपयोग करना चाह सकते हैं।

क्या आप पायथन प्रोग्रामिंग भाषा सीखने की अपनी यात्रा को तेज करना चाहते हैं? शीर्ष पायथन पाठ्यक्रमों और ऑनलाइन सीखने के संसाधनों पर सलाह के लिए हमारा How to Learn Python गाइड देखें।

  1. - पायथन फंक्शन से void कैसे लौटाएं?

    चूंकि पायथन डायनामिकली-टाइप्ड है और फंक्शन परिभाषित करते समय आप रिटर्न टाइप निर्दिष्ट नहीं करते, इसलिए आप किसी भी प्रकार का कुछ भी लौटा सकते हैं, जिसमें None शामिल है जो डिफ़ॉल्ट रिटर्न मान है (जब आप कुछ भी नहीं लौटाते, तो फंक्शन वास्तव में फंक्शन के नीचे None लौटाता है)। ऐसे फंक्शन को void कहा जाता

  1. - पायथन फंक्शन से JSON ऑब्जेक्ट कैसे लौटाएं?

    दिए गए पायथन डिक्शनरी का उपयोग करके पायथन फंक्शन से JSON ऑब्जेक्ट को निम्नानुसार लौटाया जाता है। उदाहरण import json a = {name:Sarah, age: 24, isEmployed: True } # a python dictionary def retjson(): python2json = json.dumps(a) print python2json retjson() आउटपुट {age: 24, isEmployed: true, nam

  1. - पायथन फंक्शन फंक्शन कैसे लौटा सकता है?

    पायथन फर्स्ट-क्लास फंक्शन्स का समर्थन करता है। वास्तव में, पायथन में सभी फंक्शन्स फर्स्ट-क्लास फंक्शन्स हैं। पायथन फंक्शन्स से फंक्शन्स लौटा सकता है, फंक्शन्स को सूचियों जैसे संग्रह में स्टोर कर सकता है और आम तौर पर उन्हें किसी भी वेरिएबल या ऑब्जेक्ट की तरह व्यवहार कर सकता है। फंक्शन्स के अंदर फंक्श