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

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

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

यह कई मानों/चरों को वापस करने के लिए पायथन की डिफ़ॉल्ट संपत्ति है जो सी ++ या जावा जैसी कई अन्य प्रोग्रामिंग भाषाओं में उपलब्ध नहीं है।

किसी फ़ंक्शन से कई मान वापस करने के लिए, हम अपनी आवश्यकता के अनुसार टपल, सूची या शब्दकोश ऑब्जेक्ट वापस कर सकते हैं।

विधि 1:टपल का उपयोग करना

def func(x):
   y0 = x+ 1
   y1 = x * 3
   y2 = y0 ** 3
   return (y0, y1, y2)

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

विधि 2:शब्दकोश का उपयोग करना

शब्दकोश का उपयोग करना एक और बेहतर उपाय है।

def func(x):
   y0 = x+ 1
   y1 = x * 3
   y2 = y0 ** 3
   return {'y0': y0, 'y1': y1, 'y2': y2}

अब, हमारे पास एक तंत्र है जिससे हम लौटाई गई वस्तु के एक विशेष सदस्य को प्रक्षेपित कर सकते हैं।

उदाहरण के लिए -

result[‘y1’]

विधि 3:कक्षा का उपयोग करना

एक अन्य विकल्प वर्ग का उपयोग करना है, जहां हम एक विशेष संरचना वापस कर सकते हैं।

class ReturnValue(obj):
   def __init__(self, y0, y1, y2):
      self.y0 = y0
      self.y1 = y1
      self.y2 = y2

def g(x):
   y0 = x + 1
   y1 = x * 3
   y2 = y0 ** 3
   return ReturnValue (y0, y1, y2)

विधि 4:सूची का उपयोग करना

एक अन्य विधि सूची का उपयोग कर रही है।

def func(x):
   result = [x + 1]
   result.append(x * 3)
   result.append(y0 ** 3)
   return result

विधि 5:जनरेटर का उपयोग करना

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

def func(x):
   y0 = x + 1
   yield y0
   yield x * 3
   yield y0 ** 3

किसी फ़ंक्शन से एकाधिक मान वापस करने के लिए कौन सी विधि सबसे अच्छी है?

यह सब आपके स्वाद या आवश्यकता पर निर्भर करता है कि आपको कौन सा तरीका अधिक पसंद है। आप शब्दकोश मार्ग चुन सकते हैं क्योंकि इसमें कम सेट-अप कार्य शामिल है। या आप क्लास रूट का विकल्प चुन सकते हैं क्योंकि इससे आपको यह भ्रमित करने से बचने में मदद मिल सकती है कि कोई शब्दकोश क्या दर्शाता है। या आप एक-एक करके मान उत्पन्न करने के लिए जनरेटर चुन सकते हैं।


  1. प्रत्येक एक्स के लिए एकाधिक वाई मानों के साथ पायथन स्कैटर प्लॉट

    प्रत्येक X के लिए कई Y मानों वाला स्कैटर प्लॉट बनाने के लिए, हम x . बना सकते हैं और y स्कैटर प्लॉट बनाने के लिए numpy, zip का उपयोग करके डेटा पॉइंट और उन्हें एक साथ पुनरावृत्त करें। कदम फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें। numpy का उपयोग करके यादृच्छिक xs और y

  1. पायथन में एक ही चर के लिए एकाधिक मान कैसे असाइन करें?

    पायथन में, अगर आप कुछ ऐसा करने की कोशिश करते हैं a = b = c = [0,3,5] a[0] = 10 अंत में आपको वही मान . में मिलेंगे a, b, and c: [10, 3, 5] ऐसा इसलिए है क्योंकि यहां तीनों चर एक ही मान की ओर इशारा करते हैं। यदि आप इस मान को संशोधित करते हैं, तो आपको परिवर्तन सभी नामों, अर्थात, a, b और c में दिखाई दे

  1. हम पायथन में कई मान कैसे लौटाते हैं?

    किसी फ़ंक्शन से टपल, सूची, शब्दकोश या उपयोगकर्ता परिभाषित वर्ग के ऑब्जेक्ट के रूप में कई मान वापस करना संभव है टुपल के रूप में वापस लौटें >>> def function():       a=10; b=10       return a,b >>> x=function() >>> type(x) <class 'tuple