பைத்தான் நிரலாக்க மொழி நிரலாளரின் வேலையைப் பெருமளவிற்கு எளிதாக்கித் தருகிறது. ஒரு பிரச்சனைக்கு உண்டான தீர்வை நிரலாளர் முதல் வரியிலிருந்தே ஒவ்வொருமுறையும் யோசிக்கவேண்டும் என்கிற கட்டாயமொன்றும் இல்லை. பாதியை நிரலாக்க மொழி ஏற்கனவே நிரலாளர் சார்பாக யோசித்து எழுதி வைத்திருக்கும். நிரலுக்கு ஏற்றார்போல அதை மாற்றி வடிவமைத்துக்கொள்ள வேண்டும், அவ்வளவுதான்.
‘அவ்வளவு நல்லவனாடா நீ’ என்று பைத்தானை பார்த்துக் கேட்கத் தோன்றுகிறது அல்லவா ? நிரலாளர்களுக்கு பிடித்தமான ஒரு மொழியாக இருப்பதற்கு இதெல்லாம் கட்டாயம் பின்பற்றக்கூடிய ஒரு அளவுகோல். மு.வ.செயல்பாடுகளின் மூலம் ஏற்கனவே பைத்தான் உதவியதைப் பார்த்தோம், மீண்டுமென்ன? இம்முறை தொகுதிகள்(modules).
கணிதம், புள்ளியியல், ரேண்டம் எண்களை உருவாக்குதல் போன்றவற்றிற்கு ஒரு நிரலாளர் பைத்தான் தரும் வாய்ப்புகளைப் பயன்படுத்தினாலே போதும், தேவைப்படும் நிரல்களை எளிதில் எழுதிவிட முடியும். பைத்தான் ஒரு கணினியில் நிறுவப்படும் பொழுதே, பல தொகுதிகளோடு தான் வந்து சேர்கிறது. அவற்றிலிருந்து உங்கள் நிரலுக்குத் தேவையானதை எடுத்துக்கொள்ள வேண்டியதுதான். உதாரணத்துக்குப் பட்டியலில் இடம்பெற்றுள்ள எண்களுக்கான சராசரியைக் கணக்கிட வேண்டும் என்றால், நிரலாளர் யோசிக்கவேண்டியது பின்வரும் இரண்டை மட்டும்தான்.
1) சராசரியைக் கணக்கிட பைத்தான் வழங்கும் செயல்பாட்டின் பெயரென்ன?
2) எந்த தொகுதிக்குள் அச்செயல்பாடு இடம்பெற்றுள்ளது?
அவ்வளவுதான், இனி அவற்றை நிரலில் பயன்படுத்தவேண்டியது தான் வேலை. ஆகத் தொகுதி என்பது பல மு.வ.செயல்பாடுகளின் தொகுப்பு. கணிதத்திற்கு, புள்ளியியலுக்கு, ரேண்டம் எண் வெளியிட எனப் பல தொகுதிகளை பைத்தான் வழங்குகிறது.
மு.வ.செயல்பாட்டிற்கும் தொகுதிக்கும் என்ன வேறுபாடு?
மு.வ.செயல்பாடு எந்தவொரு தொகுதிக்கு உள்ளேயும் இடம்பெற்றிருக்காது, அவை தனித்தவை. len(), print(), input() போல. பல மு.வ.செயல்பாடுகளை பொதுவான ஒரு தலைப்பிற்குக் கீழே கொண்டுவந்து பயன்படுத்தினால் அது தொகுதி. math, statistics, random போல.
இனி தொகுதிகளை ஒவ்வொன்றாக அறிமுகம் செய்துகொள்வோம்.
குறிப்பு: பின்வரும் நிரல்களில் print() செயல்பாட்டில் f என்ற எழுத்தைக் குறிப்பிட்டு ஆரம்பித்திருக்கிறோம். சரம் என்பதால் கண்ணை மூடிக்கொண்டு அப்படியே அச்சிட்டுவிடாதே, சுருள் அடைப்புக்குறிக்குள்{} இருப்பவை அடையாளங்காட்டிகள், அதன் மதிப்பை அச்சிடு என்பதே fன் அர்த்தம். வாக்கியத்தின்(சரம்) உள்ளே ஒரு மதிப்பை அச்சிடவேண்டிய தேவை எங்கெல்லாம் வருகிறதோ, அங்கெல்லாம் இந்த யுத்தியைப் பயன்படுத்தலாம்.
முதலில் கணிதத்திற்கான தொகுதியிலிருந்து ஆரம்பிப்போம்.
நிரல் 1: ஒரு எண்ணின் வர்க்க மூலத்தைக் கண்டறிதல்
நிரலின் முதல் வரியைக் கவனியுங்கள், import என்ற முதன்மை சொல்லின் மூலம் mathஐ நிரலுக்குக் கொண்டுவந்திருக்கிறோம். இனி அந்த தொகுதிக்குள் இடம்பெற்றிருக்கும் அனைத்து மு.வ.செயல்பாடுகளையும் குறிப்பிட்ட அந்த நிரலுக்குள் பயன்படுத்திக் கொள்ளலாம்.
நிரலின் மூன்றாவது வரியைப் பாருங்கள், வர்க்க மூலத்தைக் கண்டறிய sqrt() என்ற மு.வ.செயல்பாட்டை math தொகுதிக்குள் இருந்து எடுத்துப் பயன்படுத்தியிருக்கிறோம்.
நிரல் 2: ஒரு எண்ணின் காரணியைக் கண்டறிதல்
factorial என்ற செயல்பாடு கணித தொகுதியிலிருந்து நிரலுக்குள் குதித்திருக்கிறது. 5 என்ற எண்ணை உள்ளீடு செய்து அதன் காரணி 120ஐ(5 x 4 x 3 x 2 x 1) அச்சிட்டிருக்கிறோம்.
நிரல் 3: முக்கோணவியல் மதிப்புகளைக் கண்டறிதல்
பள்ளிப் பருவங்களில் பலருக்கும் விருப்பப் பாடமாக இருந்திருக்கக்கூடிய முக்கோணவியலின் மதிப்புகளை, மூன்றே வரிகளில் ஒரு நிரலாக எழுதிப் பெற்றுக்கொள்ள முடியும்.
நிரல் 4: அடுக்கு குறி(Exponential) நிரல்
eயின் கணித மாறிலி மதிப்பு 7.3890560989306495. இதற்கு எண் 2ஐ அடுக்காக அனுப்பி, பெறக்கூடிய மதிப்பு என்ன என்பதைக் கணக்கிட்டு அச்சிட்டு இருக்கிறோம்.
நிரல் 5: அடுக்கு(Power) நிரல்
2 அடுக்கு 3ன்றின் மதிப்பை pow() என்ற செயல்பாட்டைப் பயன்படுத்திப் பெற்றிருக்கிறோம்.
கணித தொகுதியில் இடம்பெற்றிருக்கும் மு.வ.செயல்பாடுகள் ஒவ்வொன்றும் விதவிதமான தரவு வகைகளை வெளியீடாகத் தரவல்லவை. குறிப்பிட்ட ஒரு மு.வ.செ என்ன தரவு வகையை முடிவாகத்தரும் என்பதை அறிந்துவத்திருத்தல் நலம்.
கணித தொகுதியில் உள்ள அனைத்து செயல்பாடுகளையும் தெரிந்துகொள்வது எப்படி?
புள்ளியியலுக்கான பிரத்தியேக தொகுதியை அடுத்து காணவிருக்கிறோம்.
நிரல் 6: நடுமட்டத்தை(mean) கண்டறிதல்
பட்டியலிலுள்ள எண்களில் புள்ளியியலின் அடிப்படையில் நடுமட்டத்தை கண்டறிய நிரல் எழுதியிருக்கிறோம். புள்ளியியல் தொடர்பான அனைத்து செயல்பாடுகளையும் statistics என்ற தொகுதியை நிரலுக்கு இறக்குமதி செய்வதன் மூலம் பயன்படுத்திக் கொள்ளலாம்.
நிரல் 7: இடை எண்ணை(median) கண்டறிதல்
பட்டியலிலுள்ள உள்ள எண்களை உள்ளீடாகக்கொண்டு, அதன் இடை எண்ணைக் கண்டறிந்து அச்சிடுகிறோம்.
நிரல் 8: மாறுபாட்டெண்னை(variance) கண்டறிவதற்கான நிரல்
நிரல் 9: தரவிலக்கத்தை(Standard Deviation) காண்பதற்கான நிரல்
நிரல் 10: முகட்டை(mode) கண்டறிதல்
தரவு தொகுப்பில் அடிக்கடி தோன்றும் மதிப்பே முகடு எனப்படும். பட்டியலில் 5 இருமுறை தோன்றுவதால் அதை முகட்டின் மதிப்பாகக்கொண்டு அச்சிட்டிருக்கிறோம்.
“பத்துக்குள்ள நம்பர் ஒன்னு சொல்லு” என்று நிரலிடம் கேட்டுப் பெறலாம். கல்லூரிகளில் சேர நடத்தப்படும்
கலந்தாய்வுக்கு முன்பு ரேண்டம் எண்கள் வெளியிடப்படும், கவனித்திருக்கிறீர்களா? கிட்டத்தட்ட அதேபோல ஒரு நிரலை எழுதி ரேண்டம் எண்களை உருவாக்க முடியும்.
நிரல் 11: பத்துக்குள்ள நம்பர் ஒன்னு சொல்லு
random என்ற தொகுதியை நிரலுக்கு இறக்குமதி செய்திருக்கிறோம். randint() என்ற மு.வ.செயல்பாட்டிற்கு 1, 10 என இரண்டு அளவுருக்களை உள்ளீடாக அனுப்பியிருக்கிறோம். அதைப்பெற்றுக்கொண்டு அந்த இரு எண்களுக்கு இடையே ஒன்றைத் தோராயமாகத் தேர்ந்தெடுத்து நிரல் அச்சிடுகிறது. நிரல் தேர்ந்தெடுக்க இருப்பது எந்த எண் என்பதை நாம் கணிக்க இயலாது. இந்நிரலை இன்னும் கொஞ்சம் வளர்த்தெடுத்தால், ஒரு நல்ல எண் கணிக்கும் விளையாட்டை உருவாக்கமுடியும். நிரலைக் குறைந்தது ஐந்து முறையாவது இயக்கி பாருங்கள், ஒவ்வொரு முறையும் ஒரு ரேண்டம் எண்ணை வெளியீடாகக் காணமுடியும்.
நிரல் 12: நான்கில் ஒன்றைத் தேர்ந்தெடுக்கக் கோருவது
போன நிரல் போல இடைவேளை எல்லாம் இல்லை, நான்கு பழங்கள், அவற்றில் ஒன்றை நிரல் தேர்ந்தெடுத்துத் தர வேண்டும். நமக்கு வைத்தது ஆப்பிள் தான். choice() என்ற மு.வ.செயல்பாட்டைப் பயன்படுத்தி அப்பழத்தைப் பெற்றிருக்கிறோம்.
நிரல் 13: பூஜ்ஜியத்திற்கும், ஒன்றிற்கும் இடையே
பூஜ்ஜியத்திற்கும், ஒன்றிற்கும் இடையே என்ன மதிப்பு இருந்துவிடப் போகிறது? முழு எண்ணாகக் கொண்டால் ஒன்றுமில்லை தான். ஆனால் நிரல் தசம எண்களைக்கொண்டு ஒரு இடைவெளியை உருவாக்கி, அதிலும் ஒவ்வொருமுறையும் ஒரு ரேண்டம் எண்ணை வெளியீடாகத் தருகிறது.
நிரல் 14: பட்டியலைக் கலைத்துப் போடுதல்
ஒரு பட்டியலிலுள்ள உறுப்புகளின் வரிசையைக் கலைக்க shuffle() என்ற மு.வ.செயல்பாட்டைப் பயன்படுத்துகிறோம்.
பைத்தானில் மொத்தம் எத்தனை தொகுதிகள் உள்ளன, அவற்றிலுள்ள மு.வ.செயல்பாடுகள் என்னென்ன என்பதை அறிந்துகொள்ள நிரல்கள் எழுதுவது ஒரு நல்ல பயிற்சியாக அமையும்.
(தொடரும்)