சில அடிப்படைகள்
hello world என்று அச்சிடுவது மட்டும் போதாது. அதற்கும் மேலே ஏதாவது செய்தால் நன்றாக இருக்குமே.
பயனரிடம் ஏதாவது கேள்வி கேட்கலாம். பதில் வாங்கி, அதில் ஏதாவது மசாலா சேர்த்து, புது கலவையாக்கித் தரலாமா? அதற்கு, பைத்தானில் உள்ள Constant, Variable ஆகியவை உதவும். அவை பற்றி இங்கே காணலாம்.
அதற்குள்ளே புது வார்த்தைகளைக் கண்டு பயந்து விட வேண்டாம். நான் முதலில் இவற்றைக் கண்டு மிகவும் கலங்கிப் போன நாட்கள் பல. செந்தமிழும் நாப்பழக்கம். செம்பைத்தானும் பழகி விடும். தொடர்ந்து படித்து, பயிற்சி செய்தால் போதும்.
இப்போது, நாம் பைத்தான் மொழியில் அடிப்படைக் கூறுகளைக் காணப் போகிறோம். முதல் முறையாக சமையல் கற்கும் போது என்ன செய்வோம்? ‘எடுத்த உடனே பிரியாணிதான்’ என்று சொல்லும் விருச்சிககாந்த் யாராவது உள்ளீர்களா? பிரியாணி செய்ய என்ன கற்போம்? சமையலின் அடிப்படைகள். ‘முதலில் இதுதான் அடுப்பு, இதுதான் பாத்திரம். இப்படித்தான் சுடு தண்ணீர் வைக்க வேண்டும்’ என்று உங்கள் அப்பா சொல்லித்தருவதை நினைவு கூர்க. பின்னர் பால், டீ, காபி என்று பழகுவோம். பிறகு டீ, காபியை கஷாயமாகவோ, பாயாசமாகவோ வைத்துப் பயிற்சி செய்து, அதைக் குடித்த பின் யாரும் கழிவறைக்கோ, மருத்தவமனைக்கோ ஓடாத படிக்கு செய்யப் பழகிவோம். பின்பு இட்லி, தோசை, சட்னி, சோறு, ரசம், சாம்பார், காய்கறிகள், என்று முன்னேறுவோம். இதனிடையே ஆம்லெட், மீன் வறுவல், கோலா உருண்டை, கைமா என்று ஒரு கை பார்ப்போரும் உண்டு. இதெல்லாம் கற்ற பிறகே பிரியாணிக்கு செல்வோம். பிறகு அதற்கான மசாலாக்களை வீட்டிலேயே அரைத்தல், இட்லி மாவு வீட்டில் அரைத்தல், மிளகாய்த் தூள் அரைத்தல் என்று சென்று, பிறகு, ‘மெட்ராஸ் சமையல்’, ‘அம்மா சமையல்’, ‘Home Cooking Tamil’ ‘செப் தீனா’, ‘செப் தாமு’, ‘செப் வெங்கடேஷ்’ ஆகிய பல யுடியூப் தெய்வங்களின் ஆசிகளோடு நாமும் சமையலில் ஒரு கலக்கு கலக்கி விடுவோம். பிறகு பிறருக்கும் கற்றுத் தருவோம். சிலர் முழுநேர சமையல் கலைஞராவர். சிலர் சமையல் நூல்கள் எழுதுவர். சிலர் வீடியாக்கள் உருவாக்கிப் பகிர்வர்.
அதேதான் புரோகிராமிங்கும்.
பெரிய பெரிய மென்பொருடகளை உருவாக்கும் முன், இதுதான் உப்பு, இதுதான் புளி, இதுவே அரிசி, இது பருப்பு. அவற்றில் உள்ள பல்வேறு துணை வகைகள். இவற்றைப் போலவே, பைத்தானிலும் பல்வேறு அடிப்படைகள் உள்ளன. அவற்றை நன்கு கற்பது அவசியம்.
ஏன் அடிப்படைகளை நன்கு கற்க வேண்டும்? நானே நேரடியாக பாதிக்கப்பட்டேன். போன மாதம் ஒரு நன்னாளில், ஒரு சின்ன சண்டைக்குப் பின் நித்யாவை சமாதானப் படுத்த, வீட்டு வேலைகளை ஒழுங்காக செய்யத் தொடங்கினேன். ‘என் சமையலறையில் நீ உப்பா? சர்க்கரையா?’ என்று பாடிக் கொண்டே, நித்யாவை ஓரக்கண்ணால் பார்த்துக் கொண்டே, கிரைண்டரில் இருந்து இட்லி மாவு வழித்து ஒரு பாத்திரத்தில் நிரப்பினேன். என் பாட்டில் நானே மெய்மறந்து போனேன். கை நிறைய சர்க்கரை அள்ளி மாவில் நன்கு கரைத்து பின், மாவு புளிக்கும் வகையில் எடுத்து வைத்தேன். ‘ஒரு வாரத்துக்கு தினமும் குஷ்பூ இட்லிதான்’ என்று உறுதி கூறினேன்.
‘சாம்பார் குடிப்பதில் எனக்கு நிகர் யாருமில்லை. கல்லூரிக் காலத்தில், காஞ்சிபுரத்தில் ஸ்ரீதர் கேப் ஹோட்டலிலும்,பின்னர் திருவல்லிக்கேணி ரத்னா கேப் ஹோட்டலிலும் சர்வர்களை விரட்டி விரட்டி சாம்பார் குடித்தபோது,அவர்கள் விட்ட சாபம், இப்போது பல்வேறு கிளவுட் சர்வர்கள் என்னை விரட்டி விரட்டி தண்ணீர் குடிக்க வைக்கின்றன’ என்று சொன்ன போது, நித்யாவின் கோபம் சற்றே தணிந்திருந்தது.
மறுநாள் காலை, நான் இட்லி சமைத்தேன். நித்யா பாத்திரம் நிறைய சாம்பார் வைத்திருந்தார். ‘இன்று நன்கு சாம்பார் இட்லி குடித்து விட்டு தூங்கப் போகிறேன்’ என்றேன். பூப்போன்ற இட்லி. என் திறமை எனக்கே பெருமையாக இருந்தது. ‘உனக்கெப்படிடா இவ்ளோ சமையல் திறமை?’ என்று குடும்பஸ்தன் மணிகண்டன் போல என்னையே புகழ்ந்து கொண்டேன்.
திடீரென தட்டு பறந்தது. எங்கள் வீட்டுப் பக்கம் வந்தால், அடிக்கடி பறக்கும் தட்டுகள் பார்க்கலாம்.
‘அடேய்! என்னாது இது? இதை எப்படி தின்ன முடியும்? நீயே தின்னுத் தொலை.’
இட்லியை சாம்பாரில் ஊற வைத்துக் கொண்டிருந்த நான், வழக்கம் போல ஒன்றும் புரியாமல் பாண்டியராஜன் போல் முழித்துக் கொண்டிருந்தேன்.
‘சரி. சாப்பிட்டுப் பார்ப்போம். ஊஊஊஊவேவேவேவே’. என்னாலேயே வாயில் வைக்கவே முடியவில்லை. ‘ஏன் இட்லி லட்டு மாதிரி இனிக்கிறது?’
‘ம்… உப்புக்கும் சர்க்கரைக்கும் வித்தியாசம் தெரியாத புருசன் கூட நான் படும் கஸ்டம் யாருக்கும் தெரியாது. என்ன அங்க கேட்டாங்க, இங்க கேட்டாங்க. என் கிரகம், இங்க வந்து மாட்டிக்கிட்டன்.’
பிறகென்ன? ஒரு வாரத்துக்கு எனக்கு இனிப்பு இட்லிதான். நல்ல வேளை. நித்யா அந்த மாவில் சற்றே வெல்லமும் சேர்க்கச் சொன்னார். சுவையான இனிப்பு இட்லி கிடைத்தது. அது குழந்தைகளுக்கு மிகவும் பிடித்து விட்டது.
கொஞ்ச நாளைக்கு டீயில் கூட சர்க்கரை சேர்க்காமல் குடிக்கும் அளவுக்கு இனிப்பு வெறுத்துப் போனது எனக்கு.
இதே போலத்தான் நிரலாக்கத்திலும், அடிப்படைகளை ஒழுங்காக கற்காமல், பல வீடியோக்களைப் பார்த்து, அதையும் இதையும் சேர்த்து, நிரல் ஒழுங்காக இயங்காமல், மண்டையைப் பிய்த்துக் கொண்ட சுப யோக சுப தினங்கள் ஏராளம்.
அப்போதுதான், என் ஆசிரியர் சந்திரசேகர் பாபு, அடிப்படைகளை ஆழக்கற்கச் சொல்லிக்கொண்டே இருப்பது நினைவுக்கு வந்தது. அவர் சொல்லிக் கொடுக்கும் போது, ஒழுங்காக கற்காமல் நான் பல வகுப்புகளில் உறங்கினாலும், இன்றும் என் மீது அன்பும் அக்கறையும் கொண்ட நல்லாசிரியர் அவர்.
அவர் சொல்படி, அரிச்சுவடியில் இருந்து ஆரம்பித்தேன். பல் வேறு சிறுசிறு நிரல்கள், காகிதத்தில் எழுதிப் பழகினேன். புத்தகத்தை வரி வரியாகப் படித்து குறிப்புகள் எடுத்தேன். 200 பக்க நோட்டு நிறைய எழுதிய பின்னரே, கணிக்கு சென்றேன். நோட்டில் எழுதியவற்றை கணினியில் அடித்து இயக்கிய போது, அவை சமத்தாக இயங்கிய மாயம் நிகழ்ந்தது. சொன்னபடி கேட்கும் நாய்க்குட்டி போல, பைத்தான் ஒரு பாம்புக்குட்டியானது அன்று.
எனவே, நாம் அடிப்படைகளை பொறுமையாக நன்கு கற்றுக் கொண்டால், வாழ்நாள் முழுதும் நமக்கு பயன்படும். அடைப்படைகளை கற்கத் தவறினால், கார் ஓட்டத் தெரியாமல், ரேஸ் காரில் ஏறி, பந்தயத்தில் கலந்து கொள்வது போல, பல்வேறு விபத்துகள், காயங்கள் காத்திருக்கும்.
பயப்பட வேண்டாம். அடிப்படைகளை நன்கு பயிற்சி செய்யாமல், நான் பட்ட அடிகள் மிக அதிகம். உங்களுக்கு என் நிலைமை வரக்கூடாது என்பதே என் ஆசை. எனவே இப்போது பைத்தான் மொழியின் அடிப்படைகளைக் காண்போம்.
ஆரம்பிக்கலாமா?…
Comments
Comments அதாவது விளக்க உரைகள்.
இவை நிரலுக்குள்ளேயே எழுதப்படும் கோனார் உரைகள். நாமெல்லாம் தமிழுக்கே கோனார் உரை படித்து வளர்ந்தவர்கள். நிரல் மட்டும் தப்பித்து விடுமா என்ன? நல்ல வேளை. உலகெங்கும் உள்ள நிரலாளர்கள் ( நீங்கள் தான். Programming படிப்போர், எழுதுவோர் எல்லாருமே நிரலாளர்கள் தான். ) தங்கள் நிரல் யாருக்காவது புரியாமல் போய் விடுமோ என்று, அதன் பக்கத்திலேயே விரிவான விளக்க உரை எழுதி வைத்துவிடுவது வழக்கம்.
( எனக்கு இந்த Comment எழுதாமல் போகும் கெட்ட பழக்கம் இருந்த காலம். ஏதோ ஒரு நிரலை எடுத்துப் படித்து, ஒன்றும் புரியாமல் போய், எழுதியவரை மனதில் கண்டபடி திட்டிக் கொண்டிருந்தேன். மைன்ட் வாய்ஸ் வெளியே கேட்ட எனது டேமேஜர், அந்த நிரலை எழுதியது நான்தான் என்று கிட் வரலாறு மூலம் எடுத்துக் காட்டவே, ஹி ஹி என்று இளித்து வைத்தேன். இன்று வரை அந்த நிரல் ஏன், எப்படி வேலை செய்கிறது என்று புரியவில்லை)
பைத்தான் நிரலில் எந்த ஒரு வரியிலும் # க்கு அடுத்து எழுதப் படுபவை எல்லாமே படிப்போருக்கான விளக்க உரைகள். பொருளுரை, விளக்க உரை, விரிவுரை, நோட்ஸ், கமெண்ட்ஸ் என்று பலவாறு அழைக்கலாம்.
உதாரணம் :
print('hello world') # Note that print is a function
அல்லது :
# Note that print is a function
print('hello world')
இந்தக் குறிப்புகளால் பல்லாயிரம் பலன்கள் உள்ளன. அவற்றை உங்களது வருங்கால சந்ததிக்காக எழுதுங்கள். அது நீங்களாகவே கூட இருக்கலாம்.
இன்று காலை என்ன சாப்பிட்டோம் என்பதையே மறந்து விடும் நாம், ஒரு சிக்கலான நிரலை ஏன் எழுதினோம் என்றா ஞாபகம் வைத்துக் கொள்ளப் போகிறோம்? சோம்பல் படாமல், ஒரு சில விளக்க வரிகளை கூடவே எழுதி வைத்து விட்டால், வருங்காலத்தில் சில பல மணி நேரங்களை சேமிக்கலாம். இல்லையேல் debug என்ற பாடாவதி மரண அவஸ்தையில் வாடி வதங்க வாழ்த்துக்கள்.
முக்கியமான முடிவுகள்
சிக்கல்களுக்கான தீர்வுகள்
நிரல்களுக்கான விளக்கங்கள்
பிறகு விரிவாக எழுதப் பட வேண்டிய நிரல்கள்
ஏன் இந்த நிரலை இப்படி எழுதினோம்
வேறு எப்படி எழுதலாம்
என எதை வேண்டுமானாலும் எழுதி வைக்கலாம்.
தஞ்சாவூர் கல்வெட்டு போலவே அவை பல காலத்துக்கு பலருக்கும் உதவும்.
வருங்கால சந்தநியினர் அவற்றைப் படித்து உங்களை வாழ்த்தக் கூடும்.
Code tells you how, comments should tell you why.
Literal Constants ( மாறிலி )
இவற்றை மாறிலி என்பர். மாறாமல் இருப்பது என்று பொருள். என்னது? மாற்றம் ஒன்றே மாறாத இந்த உலகில், வேறு ஏதேனும் மாறாமல் கூட இருக்குமா? இருக்குமே.
இந்த சிறிய மானிட வாழ்வில், நம் பெயர் பெரும்பாலும் மாறுவதில்லை. நம் முதல் காதலரை நாம் மாற்றுவதில்லை. ( முதல்…)
காதலிக்கும் போது, இந்த வாழ்வு முழுதும் இவர்தான் காதலன் என்று நம்புவோமே. அதுதான் மாறிலி.
அப்போதைக்கு அதுதான் உண்மை. அதை நம்பித்தான் இனிக்க இனிக்க வாழ்கிறோம்.
சிலருக்கு காதலருடனே திருமணமும் ஆகி, மாறிலி என்பது நிரூபணமாகிறது.
திருமணத்துக்குப் பின் வாழ்க்கை நம்மை சின்னாபின்னப் படுத்திவிடும் என்பது ஒரு மாறிலி. ( நம் காதலரோ, பிறர் காதலரோ, யாரைத் திருமணம் செய்தாலும்.)
என்ன ஒரே தத்துவமாக உள்ளதா? வாங்கின அடி அப்படி. கோவை சரளா வடிவேலுவை சுற்றி சுற்றி அடிக்கும் மீம் எனது தினசரி வாழ்வு. வரம்.
கவலை வேண்டாம். பைத்தான் படிப்பது நம்மை பல வகைகளில் வாழ்வில் உய்வுறச் செய்யும். தீவிரமாக நிரல் எழுத யோசிக்கும் போது, உலகின் சிக்கலான கவலைகளில் இருந்து விடுபடலாம். நன்மைகள் மட்டுமே தரும் போதை இது.
தங்கமணி என்ன திட்டினாலும், ரண்டக்க, ரண்டக்க என்று பாடியபடியே நிரலை யோசித்து மகிழ்வீர்களாக.
இந்த மாறிலி என்பது மாறாமல் இருப்பது. நிரல் முழுதாக இயங்கி முடியும் வரை அதன் மதிப்பு மாறாது. நியூட்டன் முதல் விதி போல, யாராவது மெனக்கெட்டு மாற்றாத வரை, அதன் மதிப்பு மாறாது. சிரஞ்சீவி வாழ்வு அவற்றுக்கு.
உதாரணமாக, 5, 1.23 போன்ற எண்கள். ‘This is a string’ , “It’s a string!” போன்ற வாக்கியங்கள்.
அவற்றை literal constant என்போம். அவற்றின் மதிப்பு நிரல் இயங்கும் காலம் வரையிலும் தந்தது தந்த படியே இருக்கும்.
தூக்கத்தில் எழுப்பிக் கேட்டாலும் உங்கள் காதலர், இணையர் பெயரை மாற்றிச் சொல்லிவிட மாட்டீர்கள் தானே?
Numbers ( எண் )
எண்ணும் எழுத்துமே பைத்தானுக்கும் கண்கள்.
அவற்றில் எண்கள் பற்றிக் காண்போம்.
இரு வகை எண்கள் உள்ளன. முழு எண்கள். தசம எண்கள்.
ரொம்பத் தமிழில் உள்ளதா? என்ன செய்ய? நாங்கள் தமிழ் மீடியத்தில் இப்படித்தான் படித்தோம். அருகிலேயே ஆங்கிலத்திலும் தருகிறேன். ஆங்கிலேயர்கள் சீனர்கள், சப்பானியர்கள் போல, முழுதும் கல்வியை தாய்மொழியிலேயே படிக்கும் வாய்ப்பு தமிழர்களுக்கு கிடைத்த காலம் உள்ளது.
முழு எண்கள் என்பது integer. அதாவது, 1,2, முதல் கோடி, பல கோடி வரையான தனி எண்கள்.
தசம எண் என்பது floating point number. (சுருக்கமாக floats ). அதாவது புள்ளி வைத்து எழுதுவது. 4.5, 6.4, 99.99 999.90 இந்த FM ரேடியோவின் அலைவரிசை எல்லாமே இந்த தசம எண்கள் தான்.
புள்ளிக்குப் பிறகு நிறைய எண்கள் வருமானால், அவற்றை கணித அறிவியல் முறைப்படி E
சேர்த்து எழுதுவர். E என்பது பத்தின் மடங்கு. 52.3E-4
என்பது 52.3 * 10^-4^
. பத்தாம் வகுப்பு கணக்குப் பாடம் இது. அப்போதே புரியவில்லை. இப்போது புரியுமா? கவலை வேண்டாம். இந்த அளவு கடினமான கணக்கெல்லாம் இப்போது வேண்டாம். கூட்டல், கழித்தல், பெருக்கல், வகுத்தல் என்றே ஒரமாகப் போகலாம்.
இப்போதைக்கு float என்றால் புள்ளி வைத்த எண். தசம எண்.
** ஏற்கெனவே பல காலம் பல நிரல் எழுதிய நிரல் புலிகளுக்கு **
பைத்தானில் பெரிய பெரிய பெரிய எண்களை எழுத long என்ற ஒரு வகை தனியே கிடையாது. integer லேயே எவ்வளவு பெரிய எண்ணையும் எழுதலாம்.
Strings ( வாக்கியம்)
எண் பார்த்தாச்சு. இப்போது எழுத்து.
தனியே இருந்தால் எழுத்து (characters). பல எழுத்துகள் ஒன்றாக வார்த்தை உண்டாகும்.
பல வார்த்தைகள் சேர்ந்து வாக்கியம்.
பைத்தானில், வார்த்தை, வாக்கியம் எல்லோமே String எனப்படுகிறது.
ஆதியிலே வார்த்தை இருந்தது. இப்போதும் இருக்கிறது. எல்லா காலங்களிலும், நம்மோடு கூட வருவது இது. காதலர், வாழ்க்கைத் துணையாகி, என்றும் கூடவே இருப்பது போல. எப்படி, துணைவரைப் புரிந்து கொண்டு (????) வாழ்க்கையை இனிதே ( ??? ) நடத்திச் செல்கிறோமோ, அது போல, இந்த String ஐயும் அதில் நடக்கும் பல்வேறு String Operations களையும் புரிந்து கொண்டால், வாழ்தல் இனிது.
Single Quote ( ஒற்றை மேற்கோள் )
எல்லா strings களையும் ஒற்றை மேற்கோள் ( single quotes ) கொண்டு எழுத வேண்டும். உதாரணமாக, ‘Quote me on this’.
மேற்கோளுக்குள் இருக்கும் Space, Tab, Symbols ஆகியவையும் சேர்ந்து அப்படியே இருக்கும்.
இது ஒரே வரியில் முடிந்து விடும்.
Double Quotes ( இரட்டை மேற்கோள் )
Single Quote போலவேதான் Double Quotes ம். பயன்பாட்டில் வித்தியாசம் ஏதும் இல்லை. கீபோர்டில் இரண்டும் இருப்பதால், இரண்டுக்கும் ஏதும் பஞ்சாயத்து வந்து விடக்கூடாது என்பதால் இருக்கலாம்.
உதாரணமாக, “What’s your name?”.
இதுவும் ஒரே வரியில் முடிந்து விடும்.
Triple Quotes {#triple-quotes} ( மூன்று மேற்கோள் )
சில நேரங்களில், நாம் பல வரிகளில் ஒரு பத்தியாக எழுத வேண்டியிருக்கும். திருக்குறள் இரண்டு வரி, வெண்பா நான்கு வரி, ( GST வரி தனி ).
அப்போது, நாம் மூன்று மேற்கோள் குறிகளை எழுதி தொடங்க வேண்டும். தேவையான வரிகளை எழுதி விட்டு, அதே மூன்று மேற்கோள்கள் எழுதி முடிக்க வேண்டும்.
இதற்கு ஒற்றை அல்லது இரட்டை என எதையும் பயன்படுத்தலாம்.
உதாரணம்.
”’
This is a multi-line string. This is the first line.
This is the second line.
“What’s your name?,” I asked.
He said “Bond, James Bond.”
மல டா. அண்ணா மல.
”’
இந்த பத்திக்குள், நாம் தாராளமாக ஒற்றை, இரட்டை மேற்கோள், பிற குறியீடுகளையும் தாராளமாகப் பயன்படுத்தலாம்.
தொடரும்.
த.சீனிவாசன்
முந்தைய பகுதிகள்
எளிய தமிழில் பைத்தான் – 1
எளிய தமிழில் பைத்தான் – 2
எளிய தமிழில் பைத்தான் – 3