] जावा के थ्रेडिंग मॉडल के विपरीत, पायथन में जनरेटर एक अलग उद्देश्य की सेवा करते हैं। जब कहा जाता है, तो जनरेटर एक समय में एक मान का एक अनुक्रम उत्पन्न करता है। मेमोरी में पूरे अनुक्रम को कंप्यूटिंग और संग्रहीत करने के बजाय, जनरेटर मांग पर मान प्राप्त करते हैं। उपज n उपज n 1
my_gen (6) कॉलिंग एक ऑब्जेक्ट बनाता है जो 6 और 7 के मूल्यों को प्राप्त करता है जब के माध्यम से पुनरावृत्त किया जाता है:
g = my_gen (6) अगला (छ) # आउटपुट: 6 अगला (छ) # आउटपुट: 7 लूप के लिए स्वचालित रूप से आपके लिए अगले कॉल करें, जिससे अनुक्रम पर पुनरावृति करना आसान हो जाए:
के लिए n my_gen (6) में: प्रिंट (एन) # आउटपुट: # 6 # 7
जनरेटर के लाभ
जनरेटर कई लाभ प्रदान करते हैं:
def my_gen(n): yield n yield n 1
कुछ अवधारणाओं का वर्णन करने का तरीका, जो वापस लौटने वाले क्रिया कार्यों की आवश्यकता को समाप्त करना है सूची। यह विशेष रूप से उपयोगी है जब डेटा स्ट्रीम से निपटते हैं जो अन्यथा मेमोरी को अभिभूत कर देते हैं। उदाहरण के लिए, Fibonacci संख्याओं को अनिश्चित काल तक उत्पन्न किया जा सकता है:
def my_gen(n): yield n yield n 1def fib (): ए, बी = 0, 1 जबकि सच: उपज A, B = B, A B
def my_gen(n): yield n yield n 1निष्कर्ष
जनरेटर पायथन में एक शक्तिशाली उपकरण है जो स्मृति दक्षता, रसीला और अनंत धाराओं का प्रतिनिधित्व करने की क्षमता प्रदान करता है। जनरेटर की शक्ति का उपयोग करके, आप अपने पायथन कोड के लचीलेपन और क्षमता को बढ़ा सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3