പൈത്തൺ പഠനം - ഭാഗം 2
ഈ ഭാഗത്തിൽ പഠിക്കുന്നത്
- ഹലോ വേൾഡ് എന്നു പ്രിന്റ് ചെയ്യുന്ന പ്രോഗ്രാം എങ്ങനെ രചിക്കാം
- പൈത്തണിലെ അടിസ്ഥാന ഡാറ്റാ ടൈപ്പുകൾ
- വേരിയബിൾ എന്നാലെന്ത്
പൈത്തൺ വളരെ ലളിതമാണെന്ന് ഞാൻ നേരത്തേ പറഞ്ഞു. പക്ഷേ ലളിതമെന്നാൽ അതെങ്ങനെയാണെന്നറിയണ്ടേ?. സാധാരണ പ്രോഗ്രാമിംഗ് ഭാഷകളിലേതു പോലെ സങ്കീർണ്ണമായ കോഡുകളും അനേകം സിംബലുകളും ചേർത്താണ്
ഒരു പ്രോഗ്രാം രചിക്കുന്നത്... വിവിധ സ്റ്റേറ്റുമെന്റുകളെ
തരം തിരിക്കാൻ സിംബലുകളാണ് മറ്റു ഭാഷകളിൽ ഉപയോഗിക്കുന്നത്... (ഉദാ: “{ }”, “\\”,”>”) എന്നാൽ പൈത്തണിൽ വളരെ കുറച്ചു
മാത്രമേ ഇവ ഉപയോഗിക്കുന്നുള്ളൂ... അതിനാൽ പൈത്തൺ കോഡ് മനുഷ്യർക്കും അനായാസം വായിക്കാം...
ഇനി നമുക്ക് ആദ്യ പ്രോഗ്രാമിലേയ്ക്ക് കടക്കാം. പ്രോഗ്രാമിങ്ങിൽ ഏതു ഭാഷയുടെ കാര്യത്തിലായാലും തുടക്കമിടുന്നത് “Hello World” പ്രോഗ്രാമിലൂടെയാണ്. സ്ക്രീനിൽ “Hello World” എന്നു പ്രിന്റ് ചെയ്യുന്ന ലളിതമായ പ്രോഗ്രാമാണിത്. Beginning Perl എന്ന വിഖ്യാത ഗ്രന്ഥത്തിന്റെ കർത്താവായ Simon Cozens ആണ് ഈ രീതിയിലുള്ള പ്രോഗ്രാമിംഗ് പഠനത്തിനു തുടക്കമിട്ടത്. ഒരു പ്രോഗ്രാമർ തന്റെ ജൈത്രയാത്രയുടെ തുടക്കമെന്നോണം ലോകത്തെ അഭിവാദ്യം ചെയ്യുന്നതായി കരുതിയാൽ മതി.
സ്റ്റാർട്ട് മെനുവിൽ നിന്ന് പൈത്തണിന്റെ GUI ആയ
IDLE ഓപ്പൺ ചെയ്യുക... താഴെ കാണുന്ന കോഡ്
(ഹൈലൈറ്റ് ചെയ്തത്) എഴുതുക...
കോഡ് : print “Hello World !”
കോഡ് എഴുതിയ ശേഷം എന്റർ അമർത്തുക...
റിസൾട്ട് : Hello World ! (ചിത്രം 1 ശ്രദ്ധിക്കുക)
ചിത്രം 1 |
കഴിഞ്ഞു…! ഇതാണ് ആദ്യത്തെ പൈത്തൺ പ്രോഗ്രാം. ഒരു ഒറ്റവരി കോഡ്.
print എന്ന Function ലൂടെ നാം കമ്പ്യൂട്ടറിനോട് ആജ്ഞാപിക്കുന്നു, ഇനി നാം എഴുതാൻ പോകുന്ന വാക്കുകൾ പ്രിന്റ് ചെയ്യുക. print എന്ന Function നു ശേഷം ഉദ്ധരണിയ്ക്കുള്ളിൽ (“ “) കൊടുക്കുന്ന വാക്കുകളോ സംഖ്യകളോ ചിഹ്നങ്ങളോ എന്തു തന്നെയായാലും പൈത്തൺ അത് പ്രദർശിപ്പിക്കും. നിങ്ങൾക്ക് ഈ കോഡിലെ ഉദ്ധരണിയ്ക്കുള്ളിലെ വാചകം മാറ്റിയിട്ട് മറ്റെന്തും പരീക്ഷിക്കാവുന്നതാണ്.
ഉദ്ധരണിയിൽ അല്ലാതെയും print ഫംഗ്ഷൻ കൊടുക്കാവുന്നതാണ്. അത് സംഖ്യകൾക്ക് മാത്രമാണ് ബാധകമായിട്ടുള്ളത്. ഉദാഹരണത്തിന്
print 9
9
print 9*3
27
(ചിത്രം രണ്ട് ശ്രദ്ധിക്കുക)
ചിത്രം രണ്ട് |
രണ്ടുദാഹരണങ്ങളും കണ്ടല്ലോ. രണ്ടിലും ഉദ്ധരണി ഇല്ല. അതിനാൽ അവയെ സംഖ്യകളായി മാത്രം കണ്ട് അവ പ്രിന്റ് ചെയ്യുന്നു. ഗണിതശാസ്ത്രത്തിലെ ചിഹ്നങ്ങൾ ഉണ്ടെങ്കിൽ അവയുടെ ഉത്തരമാവും പ്രിന്റ് ചെയ്യുക. ഉദ്ധരണി കൊടുക്കുമ്പോൾ ഒറ്റ ഉദ്ധരണിയും (‘ ‘) ഇരട്ട ഉദ്ധരണിയും (“ “) കൊടുക്കാവുന്നതാണ്. എന്നാൽ ഒരു വരിയിൽ ഇവ രണ്ടും ഒരുമിച്ചു നൽകാൻ പാടില്ല. (‘ “) എന്നാൽ ചിലപ്പോൾ ഇരട്ട ഉദ്ധരണികളും ഒറ്റ ഉദ്ധരണികളും ഒറ്റ വരിയിൽ തന്നെ നൽകേണ്ടി വരും... ഉദാഹരണത്തിന് “ What’s your name ?” എന്നു പ്രിന്റ് ചെയ്യണമെങ്കിൽ എന്തു ചെയ്യും...
print ‘What’s his name ?’
ഈ കോഡ് പ്രിന്റ് ചെയ്തു വന്നാൽ ഇങ്ങനെയിരിക്കും.
What
എന്തുകൊണ്ടാണ് നമ്മൾ എഴുതിയ വാചകം മുഴുവൻ പ്രിന്റ് ചെയ്യാതിരുന്നത് ? കാരണം What’s ലെ എസ് എന്നതിനു മുൻപുള്ള ഒറ്റ ഉദ്ധരണി തന്നെ. അവിടെ വരെ വന്നപ്പോൾ കോഡ് തീരുന്നതായി കമ്പ്യൂട്ടർ മനസ്സിലാക്കി. കാരണം ഉദ്ധരണി തുടങ്ങുന്നതിനും തീരുന്നതിനും ഇടയിലുള്ള വാക്കുകളാണല്ലോ പ്രിന്റ് ചെയ്യേണ്ടത്. ഇത്തരം ഘട്ടങ്ങളിൽ ഇടയ്ക്കുള്ള ഉദ്ധരണികളെ അവഗണിക്കാനായി ഒരു ബായ്ക്ക് സ്ലാഷ് (\) ഉൾപ്പെടുത്തിയാൽ മതി.
ഉദാഹരണം.
print ‘What\’s his name’
ഇത്തരം സന്ദർഭങ്ങളിൽ മറ്റൊരു തരത്തിലും നമുക്ക് കോഡെഴുതാം. ഉദാഹരണം.
print “What’s his name”
അതായത് രണ്ട് ഇരട്ട ഉദ്ധരണികൾക്കുള്ളിൽ ഒരു ഒറ്റ ഉദ്ധരണി കൊടുക്കാം... ഇതു തിരിച്ചും ചെയ്യാവുന്നതാണ്... ഇനി നമുക്ക് പ്രിന്റ് ചെയ്യാനുള്ള വാക്യം രണ്ടു വരികളിലായ് വരണമെന്ന് പൈത്തണിനോട് പറയുന്നത് എങ്ങനെയെന്ന് നോക്കാം.
കോഡ് : print “This is the first line \n And this is the second
line”
(ചിത്രം 3 ശ്രദ്ധിക്കുക)
ചിത്രം 3 |
കണ്ടല്ലോ, \n എന്നതാണ് പുതിയ വരിയാണെന്ന് പൈത്തണിനെ മനസ്സിലാക്കാനുള്ള കോഡ്.
പ്രോഗ്രാമിംഗിൽ നാം വിശകലനം(Analyse) ചെയ്യുന്നതും അപഗ്രഥിക്കുന്നതുമെല്ലാം
(Process) DATA ആണ്... ഉപയോക്താവിൽ നിന്നും നാം
കീബോർഡ് വഴിയോ മൗസ് വഴിയോ മറ്റോ ഇൻപുട്ട് സ്വീകരിക്കുന്നു, അതിനെ
വിശകലനം ചെയ്ത് അപഗ്രഥിച്ച ശേഷം ഔട്ട്പുട്ട് നൽകുന്നു... ഇപ്രകാരം
ഡാറ്റ സ്വീകരിച്ച് വിശകലനം ചെയ്യുന്നതിന്റെ എളുപ്പത്തിനായി ഡാറ്റയെ വിവിധ വിഭാഗങ്ങളായി
തരം തിരിച്ചിട്ടുണ്ട്... ഓരോ വിഭാഗവും ഓരോ ഉപയോഗത്തിനുപകരിക്കുന്നു...
ആദ്യമായി നമുക്ക് സ്ട്രിംഗ് (String) എന്ന ഡാറ്റാ ടൈപ്പിനെ പരിചയപ്പെടാം. മുകളിലെ കോഡുകളിൽ നാം അക്ഷരങ്ങളായോ വാക്യങ്ങളായോ കൊടുത്തിട്ടുള്ളവയെല്ലാം string കളാണ്. ഉദാഹരണത്തിന്
print “Hello World !” എന്ന കോഡിലെ പ്രിന്റ് എന്നതിനു ശേഷം ഉദ്ധരണിക്കുള്ളിൽ
കൊടുത്തിരിക്കുന്ന വാക്യം ഒരു സ്ട്രിംഗ് ആണ്...
അടുത്തതായി പഠിക്കുന്ന ഡാറ്റാടൈപ്പ് ഇന്റീജർ (Integer) ആണ്...
ദശാംശമില്ലാത്ത എല്ലാ പൂർണ്ണ സംഖ്യകളേയും സൂചിപ്പിക്കാൻ ഇന്റീജർ ഉപയോഗിക്കുന്നു... ഉദാ:
print 9 എന്ന കോഡിലെ 9 ഒരു ഇന്റീജറാണ്...
അടുത്തത് ഫ്ലോട്ട് ആണ് (Float)
ദശാംശ സംഖ്യകളെ സൂചിപ്പിക്കാനാണ് ഫ്ലോട്ട് ഉപയോഗിക്കുന്നത്...
print 9.54 എന്നെഴുതിയാൽ അതിലെ 9.54 ഫ്ലോട്ട് ആണ്...
തുടക്കത്തിൽ ഈ മൂന്നു ഡാറ്റാ ടൈപ്പുകൾ മാത്രം പഠിച്ചാൽ മതി...
ബാക്കിയുള്ളവ പഠനം പുരോഗമിക്കുന്ന മുറയ്ക്ക് പഠിക്കാം...
വേരിയബിൾ (Variable)
അടുത്തതായി നമുക്ക് വേരിയബിൾ എന്നാൽ എന്താണെന്ന്
പഠിക്കാം...
ഈ ഭാഗത്തിൽ ആദ്യം നാം ഹലോ
വേൾഡ് എന്നു പ്രിന്റ് ചെയ്യുന്ന പ്രോഗ്രാം എഴുതിയിരുന്നു... നമുക്ക് ഹലോ വേൾഡ് എന്ന് ഒരു തവണയാണ്
ആ കോഡ് ഉപയോഗിച്ച് പ്രിന്റ് ചെയ്യാൻ കഴിഞ്ഞത്... എന്നാൽ നമ്മുടെ
പ്രോഗ്രാമിൽ പലയിടത്തായി പല തവണ നമുക്ക് ഹലോ വേൾഡ് എന്ന് പ്രിന്റ് ചെയ്യേണ്ടി വരുമ്പോളോ...
? എല്ലാ സ്ഥലത്തും print “Hello World !” എന്നു കോഡെഴുതുക എന്നത് മുഷിപ്പൻ
പണിയല്ലേ... അപ്പോൾ ഈ ഹലോ വേൾഡ് എന്ന വാക്കിനെ തൽക്കാലത്തെ ആവശ്യത്തിനായി
എവിടെയെങ്കിലും സൂക്ഷിച്ചു വെച്ചാൽ നന്നായിരിക്കും... അതിനു വേറേ
സ്ഥലമൊന്നും നോക്കണ്ട, കമ്പ്യൂട്ടറിന്റെ മെമ്മറിയിൽ(RAM)
തന്നെ സൂക്ഷിച്ചു വെയ്ക്കാം... കമ്പ്യൂട്ടറിൽ പ്രവർത്തിക്കുന്ന
പ്രോഗ്രാമുകളിലെ ഡാറ്റ സംഭരിച്ചു വെയ്ക്കൽ എന്നത് മെമ്മറിയുടെ മുഖ്യ ജോലിയാണ്...
മെമ്മറി എന്നതിനെ നിറയെ അറകളുള്ള ഒരു വലിയ അലമാരയായി സങ്കല്പിക്കുക...
ചിത്രം 4 |
ഇതാ, ഈ ചിത്രത്തിൽ
കാണുന്ന അലമാരയെ മെമ്മറിയായി സങ്കല്പിച്ചു നോക്കൂ... ഇതിൽ ഒരു
അറയിൽ നമുക്ക് ഹലോ വേൾഡ് എന്ന വാക്കിനെ അഥവാ സ്ട്രിംഗിനെ സൂക്ഷിക്കണം... പക്ഷേ സൂക്ഷിച്ചാൽ മാത്രം പോരല്ലോ... ആവശ്യം വരുമ്പോൾ
എടുക്കുകയും വേണം... ചിത്രത്തിൽ കാണുന്ന അലമാരിയിലെ അറകൾക്ക്
ഓരോ നമ്പർ രേഖപ്പെടുത്തിയിട്ടുണ്ട്... കമ്പ്യൂട്ടറിലെ മെമ്മറിയിലെ
ഓരോ സെക്ടറിനും ഇങ്ങനെ അഡ്രസ്സുണ്ട്...
ഉദാ : 0x9FFFF
ഒന്നാലോചിച്ചു നോക്കൂ ഇത്തരം അഡ്രസ്സുകൾ നമുക്ക്
ഓർത്തു വെയ്ക്കുവാൻ സാധിക്കുമോ... ഇതു ചെറുതാണ്,
ഇതിലും വലുതാണ് സാധാരണ മെമ്മറി അഡ്രസ്സുകൾ... അതിനാൽ നമ്മുടെ സ്ട്രിംഗിനെ സൂക്ഷിച്ചു
വെയ്ക്കുവാൻ നമുക്കൊരു വേരിയബിൾ അഥവാ മെമ്മറിയിലെ ഒരു അറ വേണം, ആ അറയ്ക്കൊരു പേരും വേണം... അറയുടെ പേര് എന്നാൽ വേരിയബിളിന്റെ
പേര്...
ഉദാ: my_string = “Hello World !”
എന്തെങ്കിലും മനസ്സിലായോ ? പറഞ്ഞു തരാം... ഇവിടെ my_string
എന്നത് വേരിയബിളിന്റെ പേരാണ്... “Hello World !” എന്നത് നമ്മുടെ സ്ട്രിംഗും... പ്രോഗ്രാം എഴുതുമ്പോൾ തുടക്കത്തിൽ
ഇങ്ങനെ വേരിയബിളിന്റെ പേരും ആ വേരിയബിളിൽ നാം സൂക്ഷിക്കാനുദ്ദേശിക്കുന്ന ഡാറ്റയും എഴുതിക്കൊടുത്താൽ
കമ്പ്യൂട്ടറിന്റെ മെമ്മറിയിൽ അതു സ്ഥാനം പിട്ഇച്ചു കൊള്ളും... ഇനി നമ്മുടെ പ്രോഗ്രാമിൽ എവിടെയൊക്കെ “Hello World !” എന്നു പ്രിന്റ് ചെയ്യേണ്ടി വരുമോ, അവിടെയൊക്കെ my_string
ഉപയോഗിച്ചാൽ മതി... ഉദാഹരണം നോക്കാം... (ചിത്രം 5)
ചിത്രം 5 |
അതുകൊണ്ടാണ് അടുത്ത വരിയിൽ വെറുതേ my_string എന്നു ടൈപ്പു ചെയ്തപ്പോൾ തന്നെ “Hello World
!” എന്നു പ്രിന്റ് ചെയ്തത്... ഇപ്പോൾ ഒരു വേരിയബിൾ
എന്താണെന്നും അതിൽ ഡാറ്റ സൂക്ഷിക്കുന്നത് എങ്ങനെയാണെന്നും മനസ്സിലായില്ലേ...
ഇനി വേരിയബിളിനു പേരു നൽകുന്നതിനെപ്പറ്റി ചില കാര്യങ്ങൾ സൂചിപ്പിക്കാം...
പൈത്തണിൽ എന്നല്ല ഏതു ഭാഷയിലായാലും വേരിയബിളിനു
പേരു നൽകുമ്പോൾ അവ സ്വയം വിശദീകരിക്കുന്നവ അഥവാ self
explanatory ആയിരിക്കാൻ ശ്രദ്ധിക്കുക... ഉദാഹരണത്തിന്
ഉപയോക്താവിൽ നിന്ന് കുറച്ചു സംഖ്യകൾ ഇൻപുട്ട് ആയി വാങ്ങിയ ശേഷം അവയുടെ ശരാശരി ഔട്ട്പുട്ടായി
നൽകുന്ന ഒരു പ്രോഗ്രാം രചിക്കുന്നു എന്നു കരുതുക... അപ്പോൾ സ്വീകരിക്കുന്ന
ഇൻപുട്ടിനെ ഒരു വേരിയബിളിൽ സൂക്ഷിക്കണം, ശരാശരി സംഖ്യയെ വേറൊരു വേരിയബിളിൽ
സൂക്ഷിക്കണം... ഈ വേരിയബിളുകൾക്ക്
പേരു വേണമെങ്കിൽ a എന്നോ b എന്നോ
x എന്നോ y എന്നോ ഒക്കെ ഇടാം... പക്ഷേ അതത്ര നല്ല രീതിയല്ല... പ്രോഗ്രാം എഴുതിയിരിക്കുന്നതു
കണ്ടാൽ തന്നെ മറ്റൊരാൾക്ക് ആ പ്രോഗ്രാം മനസ്സിലാകത്തക്ക രീതിയിൽ വേണം പേരു നൽകാൻ... ഉദാ: user_input,
average_no എന്നിങ്ങനെ...
ഇപ്പോൾ തോന്നുന്നുണ്ടാവും എന്തിനാണാവോ ഈ വേരിയബിളിന്റെ ഇടയിൽ
അണ്ടർ സ്കോർ ചിഹ്നം (‘_’) കൊടുത്തിരിക്കുന്നതെന്ന്...
കാരണമുണ്ട്, വേരിയബിളിന്റെ പേരിനിടയിൽ സ്പേസ് അഥവാ
ശൂന്യസ്ഥലം പാടില്ല... അതൊഴിവാക്കാനാണ് അണ്ടർ സ്കോർ ഉപയോഗിക്കുന്നത്...
വിവിധ തരം ഡാറ്റാ ടൈപ്പുകളും വേരിയബിളുകളും
ഉപയോഗിച്ചുള്ള വിശദമായ പഠനം അടുത്ത ഭാഗത്തിലാകാം...
----തുടരും