பைத்தான் செயற்கூறுகள் - Study Notes
பாடச் சுருக்கம்
செயற்கூறு என்பது ஒரு குறிப்பிட்ட பணியைச் செய்ய வடிவமைக்கப்பட்ட குறியீடுகளின் தொகுப்பாகும். பெரிய நிரல்களைச் சிறிய மற்றும் எளிதில் நிர்வகிக்கக்கூடிய பகுதிகளாகப் பிரிக்க செயற்கூறுகள் பயன்படுகின்றன. பைத்தானில் செயற்கூறுகள் நிரலின் மறுபயன்பாட்டை அதிகரிக்கின்றன மற்றும் குறியீட்டுத் தொகுதியை எளிமையாக்குகின்றன. இப்பாடம் செயற்கூறுகளின் வகைகள், அவற்றை வரையறுக்கும் முறைகள், செயலுருபுகளின் வகைகள், மாறியின் எல்லை மற்றும் தற்சுழற்சி போன்ற முக்கியக் கருத்துக்களை விளக்குகிறது.
கற்றல் நோக்கங்கள்
- செயற்கூறுகளின் அடிப்படைத் தேவைகள் மற்றும் நன்மைகளைப் புரிந்துகொள்ளுதல்.
- பைத்தானில் உள்ள பயனர் வரையறுக்கும் செயற்கூறுகள் மற்றும் உள்ளிணைந்த செயற்கூறுகளை வேறுபடுத்துதல்.
- அளபுருக்கள் மற்றும் செயலுருபுகளின் வகைகளை அறிந்து அவற்றை முறையாகப் பயன்படுத்துதல்.
- லோம்டா மற்றும் தற்சுழற்சி செயற்கூறுகளின் செயல்பாடுகளை ஆராய்தல்.
- மாறியின் வாழ்நாள் மற்றும் எல்லைகளைக் கண்டறிதல்.
முக்கியக் கருத்துக்கள் மற்றும் வரையறைகள்
செயற்கூறு (Function)
ஒரு பெரிய நிரலைச் சிறிய அலகுகளாகப் பிரித்து, குறிப்பிட்ட பணியைச் செய்யப் பயன்படும் பெயரிடப்பட்ட தொகுதி செயற்கூறு ஆகும்.
அளபுருக்கள் மற்றும் செயலுருபுகள் (Parameters and Arguments)
அளபுருக்கள்: செயற்கூறு வரையறையில் பயன்படுத்தப்படும் மாறிகள் அளபுருக்கள் ஆகும்.
செயலுருபுகள்: செயற்கூறு அழைப்பில் அளபுருக்களுக்கு அனுப்பப்படும் மதிப்புகள் செயலுருபுகள் ஆகும்.
செயலுருபுகளின் வகைகள் (Types of Arguments)
- தேவைப்படும் செயலுருபுகள்: செயற்கூறு அழைப்பில் சரியான வரிசையிலும் எண்ணிக்கையிலும் அனுப்பப்பட வேண்டிய செயலுருபுகள்.
- சிறப்புச்சொல் செயலுருபுகள்: செயலுருபின் பெயரை அடிப்படையாகக் கொண்டு அனுப்பப்படும் மதிப்புகள்.
- தான்மவு செயலுருபுகள்: செயற்கூறு அழைப்பில் செயலுருபுகள் அனுப்பப்படாத போது, தான்மவாக எடுத்துக்கொள்ளப்படும் மதிப்புகள்.
- மாறும் நீள செயலுருபுகள்: செயற்கூறிற்கு எத்தனை செயலுருபுகள் வேண்டுமானாலும் அனுப்ப அனுமதிக்கிறது. இது நட்சத்திரக் குறியீட்டுடன் வரையறுக்கப்படும்.
லோம்டா செயற்கூறுகள் (Lambda Functions)
பெயரில்லாமல் வரையறுக்கப்படும் சிறிய செயற்கூறுகள் லோம்டா செயற்கூறுகள் எனப்படும். இவை 'lambda' என்ற சிறப்புச்சொல்லால் வரையறுக்கப்படுகின்றன.
மாறியின் எல்லை (Scope of Variables)
மாறியின் எல்லையானது அது நிரலின் எந்தப் பகுதிகளில் அணுகக்கூடியது என்பதைத் தீர்மானிக்கிறது. இவை இரண்டு வகைப்படும்: உள்ளூர் எல்லை மற்றும் உலகளாவிய எல்லை.
செயல்முறை விளக்கங்கள்
செயற்கூறை வரையறுத்தல் மற்றும் அழைத்தல்
பைத்தானில் 'def' என்ற சிறப்புச்சொல்லைப் பயன்படுத்தி செயற்கூறுகள் வரையறுக்கப்படுகின்றன. வரையறுத்த பிறகு, அதன் பெயரைக் கொண்டு அதனை அழைக்க வேண்டும்.
செயற்கூறு வரையறை எடுத்துக்காட்டு:
def greetings(name):
print('வணக்கம்', name)
greetings('அன்பு')
தற்சுழற்சி முறையில் காரணிப்படுத்துதல்
ஒரு செயற்கூறு தன்னைத்தானே அழைத்துக் கொள்ளும் முறை தற்சுழற்சி எனப்படும். காரணி பெருக்கல் காண தற்சுழற்சி மிகவும் பயனுள்ளதாக இருக்கும்.
எடுத்துக்காட்டு:
def fact(n):
if n == 0:
return 1
else:
return n * fact(n-1)
பொதுவான தேர்வுத் தவறுகள்
- அளபுருக்கள் மற்றும் செயலுருபுகள் குழப்பம்: அளபுருக்கள் என்பவை செயற்கூறு வரையறையிலும், செயலுருபுகள் என்பது செயற்கூறு அழைப்பிலும் பயன்படுத்தப்படுபவை என்பதை நினைவில் கொள்ள வேண்டும்.
- தான்மவு செயலுருபு வரிசை: தான்மவு செயலுருபுகளை வரையறுக்கும் போது, அவை தான்மவு இல்லாத செயலுருபுகளுக்கு வலதுபுறமே அமைய வேண்டும்.
- உலகளாவிய மாறி மாற்றம்: செயற்கூறுக்கு உள்ளே இருந்து உலகளாவிய மாறியின் மதிப்பை மாற்ற முயலும் போது 'global' சிறப்புச்சொல்லைப் பயன்படுத்தாவிட்டால் பிழை ஏற்படும்.
- தற்சுழற்சி செயற்கூறில் அடிப்படை நிபந்தனை: தற்சுழற்சி செயற்கூறுகளில் அடிப்படை நிபந்தனையை எழுதத் தவறினால், அது எல்லையற்ற சுழற்சிக்கு வழிவகுத்து நிரல் செயலிழக்கும்.
தேர்வு உதவிக்குறிப்புகள்
- முக்கியத் தொடரியல்கள்: 'def', 'lambda', மற்றும் 'return' ஆகியவற்றின் தொடரியலை தெளிவாக எழுதிப் பழகவும்.
- வெளியீடுக் கண்டறிதல்: மாறி நீள செயலுருபுகள் மற்றும் லோம்டா செயற்கூறு சார்ந்த நிரல்களின் வெளியீட்டைக் கண்டறியும் வினாக்களுக்கு அதிக பயிற்சி பெறவும்.
- காரணி பெருக்கல் தற்சுழற்சி நிரல்: தற்சுழற்சி முறையில் காரணி பெருக்கல் காணும் நிரலைத் தெளிவாக எழுதிப் பழகவும்.
- எல்லைகளின் வேறுபாடு: உள்ளூர் மற்றும் உலகளாவிய எல்லைகளின் வேறுபாடுகளை எடுத்துக்காட்டுடன் தெளிவாகப் படித்துக் கொள்ளவும்.