ஜெனரேட்டர்கள் மூலம், ஒரு குறிப்பிட்ட வரிசையின் மதிப்புகளை நினைவகத்தில் முழுவதுமாகச் சேமிக்காமல் அவற்றை பெருமளவில் உற்பத்தி செய்யலாம். மேலும், 'ஜெனரேட்டர்' செயல்பாடு ஒரு பொருளை உருவாக்குகிறது, அது மீண்டும் மீண்டும் செய்யும் போது மதிப்புகளை உருவாக்குகிறது. எனவே, பைதான் ஜெனரேட்டர்களில் உங்கள் கைகளைப் பெற விரும்பினால், இந்த டுடோரியல் உங்களுக்கானது. பைதான் ஜெனரேட்டர்களை எவ்வாறு உருவாக்குவது மற்றும் பயன்படுத்துவது என்பதை இங்கே விளக்குவோம்.
பைதான் ஜெனரேட்டர்களை எவ்வாறு உருவாக்குவது மற்றும் பயன்படுத்துவது
பைதான் ஜெனரேட்டர்கள் தரவு வரிசைகளில் திறம்பட வேலை செய்யப் பயன்படுகிறது, முக்கியமாக பெரிய அல்லது கிட்டத்தட்ட முடிவற்ற தரவுத்தொகுப்புகளைக் கையாளும் போது. பைதான் ஜெனரேட்டர்களின் நன்மைகள்:
- சுருக்கமான: குறியீட்டு வாசிப்புத் திறனை மேம்படுத்தும் வகையில், நீங்கள் ஜெனரேட்டர்களை சுருக்கமான முறையில் எளிதாக வரையறுக்கலாம்.
- நினைவாற்றல் திறன்: அவை ஒரே நேரத்தில் ஒரு மதிப்பை உருவாக்குகின்றன, இது குறைந்த நினைவகத்தை பயன்படுத்துகிறது மற்றும் செயல்திறனை மேம்படுத்துகிறது.
- உள்ளமைக்கப்பட்ட செயல்பாடுகள்: பைத்தானில், ஜெனரேட்டர்கள் தங்கள் வேலையை எளிதாக்க அடுத்த(), iter(), மற்றும் விளைச்சல் போன்ற முன் வரையறுக்கப்பட்ட செயல்பாடுகளைக் கொண்டுள்ளன.
- இடைநிறுத்தி மீண்டும் தொடங்கும் அம்சம்: சிக்கலான வழிமுறைகளில் பணிபுரியும் போது, ஜெனரேட்டர்களின் செயல்பாட்டை இடைநிறுத்தி மீண்டும் தொடங்க 'விளைச்சல்' செயல்பாட்டைப் பயன்படுத்தலாம்.
பைத்தானில் பல்வேறு வழிகளில் ஜெனரேட்டர்களை உருவாக்கி பயன்படுத்தலாம். வெவ்வேறு எடுத்துக்காட்டுகளைப் பயன்படுத்தி அதன் செயலாக்கத்தை நிரூபிக்க இந்த பகுதியை மேலும் பிரிப்போம். முதலில், அடிப்படை தொடரியல் பற்றி பார்ப்போம்:
def func_பெயர் ( ) :
விளைச்சல் வெளிப்பாடு
'def' ஒரு செயல்பாட்டை வரையறுக்கிறது, மேலும் 'ஜெனரேட்டர்' செயல்பாட்டை உருவாக்க 'விளைச்சல்' பயன்படுத்தப்படுகிறது. இருப்பினும், மற்றொரு முறை ஒரு வரி வெளிப்பாடுகளை மட்டுமே பயன்படுத்தி ஒரு ஜெனரேட்டரை உருவாக்க உதவுகிறது.
ஒரு சரத்தை உருவாக்க ஜெனரேட்டர் செயல்பாடு
சில மதிப்பை வழங்க ஜெனரேட்டர் செயல்பாட்டை வரையறுப்போம்:
def ஜெனரேட்டர் ( ) :
விளைச்சல் 'இது ஒரு ஜெனரேட்டர்'
க்கான மதிப்பு உள்ளே ஜெனரேட்டர் ( ) :
அச்சு ( மதிப்பு )
'for' லூப்பைப் பயன்படுத்தி நாம் அதை மீண்டும் செய்யும்போது, 'அச்சு' செயல்பாட்டைப் பயன்படுத்தி நீங்கள் அச்சிடக்கூடிய குறிப்பிட்ட மதிப்புகளை நிரல் உருவாக்குகிறது.
ஒரு கவுண்டரை உருவாக்க ஜெனரேட்டர் செயல்பாடு
எண்களின் வரிசையை உருவாக்க ஜெனரேட்டர் செயல்பாட்டிற்கு பின்வரும் நிரல் எடுத்துக்காட்டு:
def என்_ஜெனரேட்டர் ( n ) :கவுண்டர் = 0
போது கவுண்டர் < n:
விளைச்சல் கவுண்டர்
கவுண்டர் + = 1
க்கான கவுண்டர் உள்ளே என்_ஜெனரேட்டர் ( 10 ) :
அச்சு ( கவுண்டர் )
எடுத்துக்காட்டாக, உள்ளீடு 10 ஆக இருந்தால், இந்தக் குறியீட்டைத் தொகுக்கும்போது 0 முதல் 9 வரையிலான மதிப்புகளைப் பெறுவீர்கள்.
ஜெனரேட்டர் செயல்பாட்டைப் பயன்படுத்தி ஃபைபோனச்சி தொடர்
நிரலாக்கத்தில் மிக அடிப்படையான தொடரான Fibonacci தொடரைப் பயன்படுத்துவோம்:
def தொடர்_ஃபைபோனச்சி ( அளவு ) :நான் , ஜே = 0 , 1
போது நான் < அளவு:
விளைச்சல் நான்
நான் , ஜே = ஜே , i + j
அ = தொடர்_ஃபைபோனச்சி ( 6 )
அச்சு ( அடுத்தது ( அ ) )
அச்சு ( அடுத்தது ( அ ) )
அச்சு ( அடுத்தது ( அ ) )
அச்சு ( அடுத்தது ( அ ) )
அச்சு ( அடுத்தது ( அ ) )
அச்சு ( அடுத்தது ( அ ) )
குறியீட்டை இயக்குவதன் மூலம் பின்வருமாறு தொடரைப் பெறுவோம்:
முதலில், 'a' என்ற பெயரில் ஒரு பொருளை உருவாக்கி, 'ஜெனரேட்டர்' செயல்பாட்டை ஒரு வாதமாக விரும்பிய உள்ளீட்டுடன் அழைக்கவும்.
அடுத்த() முக்கிய சொல் ஒரு கையேடு மீண்டும் செய்பதாகும். ஒவ்வொரு முறையும் நாம் அடுத்த(a) ஐப் பயன்படுத்தும் போது, அது 'a' இன் ஒரு மதிப்பிற்கு மேல் மீண்டும் மீண்டும் வருகிறது. இருப்பினும், பின்வரும் எடுத்துக்காட்டில் காட்டப்பட்டுள்ளபடி 'a' இன் அனைத்து மதிப்புகளையும் ஒரே நேரத்தில் அச்சிட 'for' loop ஐப் பயன்படுத்தலாம்:
அடுத்த() செயல்பாட்டிற்கு பதிலாக 'for' loop ஐப் பயன்படுத்துதல்:
def தொடர்_ஃபைபோனச்சி ( அளவு ) :நான் , ஜே = 0 , 1
போது நான் < அளவு:
விளைச்சல் நான்
நான் , ஜே = ஜே , i + j
அ = தொடர்_ஃபைபோனச்சி ( 6 )
க்கான மதிப்பு உள்ளே ஒரு:
அச்சு ( மதிப்பு )
குறியீட்டை இயக்குவதன் முடிவு வேறுபடாது, ஏனெனில் இது முந்தைய நிரலை எழுதுவதற்கான மாற்று முறையாகும்:
பைத்தானில் ஜெனரேட்டர் வெளிப்பாடுகள் என்றால் என்ன?
பைதான் ஜெனரேட்டர் வெளிப்பாடுகள் நேரியல் வெளிப்பாடுகளைப் பயன்படுத்தி 'ஜெனரேட்டர்' செயல்பாடுகளை சுருக்கமாக உருவாக்குவதற்கான ஒரு வழியாகும். எளிய தொடரியல் இங்கே:
( வெளிப்பாடு க்கான மாறி உள்ளே மீண்டும் மீண்டும் செய்யக்கூடிய என்றால் நிலை )எடுத்துக்காட்டாக, 'n' உள்ளீட்டு மதிப்பாக இருக்கும் போது 0 முதல் 'n' வரையிலான ஒற்றைப்படை எண்களின் சதுரங்களைக் கணக்கிட ஜெனரேட்டர் வெளிப்பாட்டை உருவாக்கவும்.
ஒற்றைப்படை_சதுரங்கள் = ( x * x க்கான எக்ஸ் உள்ளே சரகம் ( 10 ) என்றால் எக்ஸ் % 2 != 0 )க்கான மதிப்பு உள்ளே ஒற்றைப்படை_சதுரங்கள்:
அச்சு ( மதிப்பு )
முந்தைய குறியீடு பின்வரும் முடிவை அளிக்கிறது:
முடிவுரை
இது பைதான் ஜெனரேட்டர்களை உருவாக்க மற்றும் பயன்படுத்துவதற்கான பல்வேறு முறைகளைப் பற்றியது. பைதான் ஜெனரேட்டர் வெளிப்பாடுகள் பற்றி அனைத்தையும் விளக்கினோம். உங்கள் திட்டங்களில் ஜெனரேட்டர்களைப் பயன்படுத்துவதை நீங்கள் கருத்தில் கொண்டால், இந்த வெளிப்பாடுகளை நீங்கள் பயன்படுத்த வேண்டும், ஏனெனில் அவை ஒவ்வொரு நிரலாக்க அம்சத்திலும் மிகவும் திறமையானவை.