जवाबों:
पायथन <= 2.5 में, का उपयोग करें gen.next()
। यह सभी पायथन 2.x संस्करणों के लिए काम करेगा, लेकिन पायथन 3.x नहीं
पायथन में = = 2.6, का उपयोग करें next(gen)
। यह एक अंतर्निहित फ़ंक्शन है, और स्पष्ट है। यह पायथन 3 में भी काम करेगा।
ये दोनों एक विशेष रूप से नामित फ़ंक्शन को समाप्त करते हैं next()
, जिसे उपवर्ग द्वारा ओवरराइड किया जा सकता है। हालांकि, पायथन 3 में, इस फ़ंक्शन को __next__()
अन्य विशेष कार्यों के अनुरूप होने के लिए नाम दिया गया है।
यह इसे करने का सही तरीका है।
आप भी इस्तेमाल कर सकते हैं next(gen)
।
अजगर 3 और इसके बाद के उपयोग में एक जनरेटर वस्तु के साथ जुड़े मूल्य प्राप्त करने के लिए next(<your generator object>)
। अगले कॉल के बाद () कतार में क्रमिक वस्तु मान पैदा करता है।
अजगर 3 में आपके पास नहीं है gen.next()
, लेकिन आप अभी भी उपयोग कर सकते हैं next(gen)
। थोड़ा विचित्र अगर आप मुझसे पूछें, लेकिन यह कैसे है।
W1 = params.next()
लेकिन एक त्रुटि मिलती हैAttributeError: 'generator' object has no attribute 'next'