Monday, March 4, 2013

ஓப்பன் சோர்ஸின் ஒப்பில்லா மொழி பைத்தான் - அடிப்படைகள் 1



இந்த கட்டுரையில் நாம் பைத்தானைப் பற்றிய அடிப்படை செய்திகளைப் பார்க்க இருக்கிறோம். 'Hello World' என திரையில் Print செய்தால் மட்டும் போதுமா? போதாது , அதையும் தாண்டி நாம் நிறைய செய்ய வேண்டும். எதையாவது உள்ளீடாக பெறுதல், அதற்கான வெளியீட்டினை கொண்டு வருதல், ஒரு கால்குலேட்டர் நிரல் எழுதுதல் அல்லது நம்முடைய தேவைக்கான நிரல்களை எழுதுதல் என இன்னும் பல.  இவையனைத்தையும் நாம் பைத்தானில் constants மற்றும் variable களைப் பயன்படுத்துவதன் மூலமாகவே செய்ய முடியும் .

Literal Constants

literal constants க்கு உதாரணம் எண்கள் (Numbers)  மற்றும் எழுத்துக்கள் (Strings).  8, 9, 2.34, 6.7e-3, 'Use Linux', "It's a python!".  இவைகள் அனைத்தும் literal என அழைக்கப்படுகிறது ஏனென்றால் இவைகள் அதற்கன பொருளை நேரடியாகவே கொடுத்து விடுகின்றன. 8,9 ஆகிய இரண்டும் நேரடியாகவே தனக்கான மதிப்பை காட்டி விடுகிறது இதில் வேறெந்த மாற்றமும் இல்லை அதுபோலவே மற்ற எண்கள் அனைத்துமே. இவைகளனைத்தும் நிலையானவை ஏனென்றால் அதனுடைய மதிப்புகளில் எந்த மாற்றத்தையும் செய்ய முடியாது அத்துடன் மாறாமல் இருப்பது. ஆகையால் இவைகள் literal constants எனப்படும்.

எவையெல்லாம் literal constants?

Numbers
Strings

Numbers(எண்கள்):

பைத்தானில் எண்கள் நான்கு வகைப்படும் அவை:

Integers - முழு எண்கள் உதாரணமாக: 2, 200, 342, 3313
Long Integers - நீளமான முழு எண்கள் உதாரணமாக: 342342525335325335252
Floating Point - தசம எண்கள் உதாரணமாக: 3.4, 3543.4, 5464.12, 24.3E-4 E=10 ன் அடுக்கு. 24.3E-4=24.3*10 ன் அடுக்கு-4
Complex Numbers - சிக்கல் எண்கள் உதாரணமாக: 5+43j, 2.3-3.23j

Strings(எழுத்துக்கள்):


எழுத்துக்களினுடைய தொடர்ச்சியே Strings எனப்படும்.  கொத்துக் கொத்தாக இருக்கும் எழுத்துக்களே Strings. சரி, எழுத்துக்களை பைத்தானில் எப்படி பயன்படுத்தலாம் என பார்ப்போம்?.

Single Quotes(') பயன்படுத்தி
'Welcome Linux'

Double Quotes(") பயன்படுத்தி
"What's your sweet name?"

Triple Quotes(""" அல்லது ''') பயன்படுத்தி
'," ஆகியவற்றை ஒற்றை வரிக்குத்தான் பயன்படுத்தாலாம்.  ஆனால் பல வரிகளை பயன்படுத்த Triple Quotes ஐப் பயன்படுத்தலாம்.

''' We can do anything in python. This is first line
""This is second line"""
this is third line'''



Escape Sequences(\) பயன்படுத்தி

what's your name? அப்படினு ஒற்றை வரியில் கொடுக்கணும் எப்படி கொடுப்பது? கொடுக்க முடியாது காரணம் 'what's is your name' என கொடுக்கும் பொழுது பைத்தான் குழம்பிவிடும். எந்த Single Quotes வரி முடிவதை குறிக்கிறது என பைத்தானுக்கு குழப்பம் வரும்.

இந்தக் குழப்பத்தை Escape Sequences (\-Back Slash) உதவியுடன் தவிர்க்க முடியும். அப்படியென்றால் நாம் எப்படி ஒற்றை வரியில் கொடுக்க வேண்டுமென்றால் 'what\' is your name?' என கொடுக்க வேண்டும். Double Quotes பயன்படுத்தும் பொழுதும் இந்த \ - Escape Sequences ஐ பயன்படுத்திக் கொள்ளலாம்.

அடுத்து பயனுள்ள ஒரு Escape Sequences \n. இது ஒரு புதிய வரியை தொடங்கு என்பதை குறிக்கிறது. மற்றொன்று \t - Tab. இதுபோன்று பல Escape Sequences கள் உள்ளன இருந்தாலும் பெரும்பாலும் பயன்படுவதை இங்கு பார்க்கிறோம்.

ஒரு வரி யினுடைய இறுதியில் வெறும் \ மட்டும் கொடுத்தால், ஒரு வரி முடிந்து விட்டது இதன் தொடர்ச்சி அடுத்த வரியில் தொடங்குகிறது என்பதைக் குறிக்கிறது.

Raw Strings பயன்படுத்தி

எந்தவொரு குறிப்பிடத்தக்க செயல்பாடுகளும் ஒரு Strings க்கு இல்லையென்றால் இதைப் பயன்படுத்தலாம். r or R ஐ String ன் முன்னால் குறிப்பிட்டு விட்டால் அது Raw Strings. print r'hai' or print R'hai'.

Unicode Strings (ஒருங்குறி) பயன்படுத்தி

உலகளாவிய மொழிகளின் எழுத்துக்களை குறிப்பதற்கு unicode Strings பயன்படுகிறது.  ஒரு வரி அல்லது எழுத்தின் முன்னால் u or U வை சேர்த்து விட்டால் அது Unicode Strings.

Variables (மாறிலிகள்)

Variables என்பதன் மதிப்புகள் மாறிக்கொண்டே இருக்கும், நாம்மால் மதிப்புகளை மாற்றம் செய்யவும் முடியும்.  நாம் நிரலில் ஒரு variable ஐ உருவாக்கிவிட்டோம் என்றால், அதற்கான இடம் கணினியினுடைய முதன்மை நினைவகத்தில் (RAM) தனியே ஒதுக்கப்பட்டு விடும். நிரலில் ஒரு variable ஐ பயன்படுத்த வேண்டுமென்றால், literal constants ஐப் போல செய்ய முடியாது. அந்தெந்த variable -ன் பெயரினை தேவைப்படும் இடத்தில் கொடுத்து பயன்படுத்திக் கொள்ள வேண்டும்.

Identifier Naming(அடையாளம் காண பெயரிடுதல்):

Identifier க்கான உதாரணம்தான் variables -கள்.  ஏதாவது ஒன்றை அடையாளம் கண்டுகொள்ள கொடுக்கப்படும் பெயர்தான் Identifiers.  Identifier களுக்கு பெயரிட சில விதிமுறைகள் உள்ளன அவைகள் என்னவென்று பார்ப்போம். சுருக்கமாக Variables = Identifiers

Identifier னுடைய முதல் எழுத்து அவசியமாக ஆங்கில எழுத்துக்களாகத்தான் இருக்க வேண்டும். Small letters or Caps letters இவைகளில் ஏதாவது ஒன்றாக இருக்கலாம்.  அல்லது _ (under-score) ஆக இருக்கலாம்.

முதல் எழுத்தை தவிர்த்து அதனை தொடர்ந்து வரும் மற்ற எழுத்துக்கள் '_' under-score ஆகவோ, upper or lowercase letters ஆகவோ அல்லது எண்களாகவோ (0-9)இருக்கலாம்.

Identifiers  ஆதாவது Variables களுக்கு கொடுக்கப்படும் பெயர்கள் Case Sensitive கொண்டவை. உதாரணமாக yourname and yourName இரண்டும் ஒன்றல்ல, வெவ்வேறானவையாக எடுத்துக்கொள்ளப்படும்.

உதாரணமாக:

ஏற்றுக்கொள்ளத்தக்க பெயர்கள் : x, y, _myvariable, __xyz, n23n, mxn__xxy போன்றவைகள்.

ஏற்றுக்கொள்ள முடியாத பெயார்கள் : 83xy, my name (இடைவெளி விட்டுக் கொடுப்பது), my-name போன்றவைகள்.

Data Types:

variables கள் வெவ்வேறு வகையான மதிப்புக்களை கொண்டிருக்க முடியும் அந்த வெவ்வேறு வகையான மதிப்புக்களைத்தான் நாம் data types என அழைக்கின்றோம்.  அடிப்படையான இரண்டு வகைகள் strings and numbers (எழுத்துக்களும், எண்களும்) .

Objects:

பைத்தான் நிரல்களில் பயன்படுத்தப்படும் எந்த ஒன்றுமே ஒரு Object தான். Python is Strongly Object Oriented ஆகையால் Numbers, Strings மற்றும் Functions கள் உட்பட அனைத்துமே Objects தான்.

உதாரணம்: variables and literal constants பயன்படுத்தி நிரல்

#Filename : var.py
i=10
print i
i=i+1
print i
s='''This is multi-line string.
This is second line.'''
print s

var.py என கோப்பிற்கு பெயரிட்டு சேமிக்கவும். முனையத்தில் python var.py என கொடுத்து இயக்கவும்.

வெளியீடு கீழ்கண்ட வாறு இருக்கும்.

elcot@boss:~/Documents/pyex$ python var.py
10
11
This is multi-line string.
This is second line.

நிரல் எப்படி வேலை செய்கிறது?

i எனும் variable க்கு = எனும் assignment operator ஐ பயன்படுத்தி 10 எனும் மதிப்பு கொடுக்கப்படுகிறது. 10 எனும் மதிப்புக்கு i எனும் variable ஐ இணைத்து வைக்கப்படுகிறது. அடுத்து print statement னினுடைய உதவியோடு i ன் மதிப்பு  10 என வெளியிடப்படுகிறது. அடுத்து மதிப்பு 1 ஐ i யோடு கூட்டி, கூட்டப்பட்ட மதிப்பு i லேயே சேமிக்கப்படுகிறது. i னுடைய மதிப்பு 11 என வெளியிடப்படுகிறது.

அதுபோல literal string , variable s க்கு assign செய்யப்பட்டு அது print செய்யப்படுகிறது.


2 comments:

Sankar said...

Migavum arumayabna valaipoo. Mikka nandri.

I'm fully impressed about your blog. Keep blogging.

Thanks for the details in Tamil. I really appreciate. I will try to learn in the Tamil language,

இரா.கதிர்வேல் said...

நன்றி சங்கர். உங்களைப் போன்றோர்களின் ஊக்கமே என்னைத் தொடர்ந்து எழுத வைக்கிறது.