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

पाइथन वास्तव में वस्तुओं को वापस/उपज कैसे करता है?

रिटर्न स्टेटमेंट एक पायथन फ़ंक्शन को बाहर निकलने और उसके कॉलर को एक मान वापस देने का कारण बनता है। सामान्य रूप से कार्यों का उद्देश्य इनपुट लेना और कुछ वापस करना है। एक रिटर्न स्टेटमेंट, एक बार निष्पादित होने के बाद, फ़ंक्शन के निष्पादन को तुरंत समाप्त कर देता है, भले ही वह फ़ंक्शन में अंतिम स्टेटमेंट न हो।

वे फ़ंक्शन जो मान लौटाते हैं, उन्हें कभी-कभी फलदायी फ़ंक्शन कहा जाता है।

उदाहरण

दिया गया कोड निम्न आउटपुट देता है

def sum(a,b):
     return a+b
sum(5,16)

आउटपुट

21

जनरेटर

जनरेटर सूचियां और टुपल्स जैसे पुनरावृत्त या पुनरावर्तनीय हैं, लेकिन आप उन पर केवल एक बार पुनरावृति कर सकते हैं। ऐसा इसलिए है क्योंकि वे सभी मूल्यों को स्मृति में संग्रहीत नहीं करते हैं, वे फ्लाई पर मान उत्पन्न करते हैं:

उदाहरण

mygenerator = (x*x for x in range(4))
for i in mygenerator:
      print i,

आउटपुट

0 1 4 9

हम दूसरी बार mygenerator में i के लिए प्रदर्शन नहीं कर सकते क्योंकि जनरेटर का उपयोग केवल एक बार किया जा सकता है:वे 0 की गणना करते हैं, फिर इसके बारे में भूल जाते हैं और 1, 4 की गणना करते हैं और एक-एक करके 9 की गणना करते हैं।

यील्ड

यील्ड एक कीवर्ड है जिसका उपयोग रिटर्न की तरह किया जाता है, सिवाय इसके कि फ़ंक्शन एक जनरेटर लौटाएगा।

जनरेटर से रिटर्न प्राप्त करने के लिए हम निम्नलिखित कोड का उपयोग करते हैं

उदाहरण

def createGenerator():
      for i in range(4):
           yield i*i      #  this code creates a generator
mygenerator = createGenerator()
print(mygenerator) # mygenerator is an object!
# for i in mygenerator:
#      print i,
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))

आउटपुट

<generator object createGenerator at 0xb71e27fc>
0
1
4
9
Traceback (most recent call last):
  File "yieldgen1.py", line 12, in <module>
    print(next(mygenerator))
StopIteration
में

स्पष्टीकरण

उपरोक्त उदाहरण में यील्ड स्टेटमेंट ने mygenerator. इसे केवल एक बार ही इस्तेमाल किया जा सकता है। हम गणना करने के लिए अगला (mygenerator) कमांड का उपयोग करते हैं; इसे एक बार इस्तेमाल किया जा सकता है:यह पहले 0 की गणना करता है, फिर इसके बारे में भूल जाता है और फिर दूसरी बार यह 1 की गणना करता है, तीसरी बार 4 और चौथा 9 की गणना करता है, फिर पांचवीं बार यह स्टॉपइटरेशन की त्रुटि को फेंक देता है क्योंकि सूची तत्व समाप्त हो गए हैं।


  1. पायथन:एक शब्दकोश कैसे प्रिंट करें

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

  1. पायथन में पैटर्न कैसे प्रिंट करें?

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

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

    पायथन प्रथम श्रेणी के कार्यों का समर्थन करता है। वास्तव में, पायथन में सभी कार्य प्रथम श्रेणी के कार्य हैं। पायथन फ़ंक्शन से फ़ंक्शन वापस कर सकता है, कार्यों को सूचियों जैसे संग्रह में संग्रहीत कर सकता है और आम तौर पर उनके साथ वैसा ही व्यवहार कर सकता है जैसा आप किसी भी चर या वस्तु के साथ करते हैं।