Variables(විචල්යය)
variable එකක් කියන්නේ තාවකාලිකව අගයන් ගබඩා කරගන්න වෙනස්වන අගයක්..
a='Hello World'
print a
මෙතනදි වෙලා තියෙන්නේ a නමින් variable එකක් හැදිලා Hello World කියන දත්ත ඒ variable එකට ආදේශ වෙලා..ඉතින් මේ variable ඇතුලේ අපිට දත්ත ගබඩා කරලා තියන්න පුලුවන්..පස්සේ ඒවා ප්රයෝජනයට ගන්න පුලුවන්..
දැන් බලන්න මේ a කියන variable එකට එක එක වෙලාවල් වලදි එක එක අගයන් දෙනවා..
ඇත්තටම python වලදි වෙන්නේ a='sas' කියලා variable එකක් හැදුවොත් memory එකේ 'sas' කියන දත්තය ගබඩා වෙලා a කියන විචල්යය ඒ මතක අවකාශයට point වෙනවා..
b='sas' කියලා එකම දත්ත තියන තවත් variable එකක් හැදුවොත් ඒකත් අර memory එකටම point වෙනවා..
id() function එකෙන් memory id එක බැලුවම ඒක පැහැදිලි වෙනවා.හැබැයි මේ දේ ගැන ඔයාල දැන්ම ගොඩක් හිතන්න යන්න එපා..පස්සේ ඔයාලට මේක පැහැදිලි වෙයි...
මේ variable එකට මම a කියලා නම දුන්නේ..ඒත් අපිට කැමති ඕනම නමකින් මේ variable එකක් නම් කරන්න පුලුවන්..ඒත් මේ නීති අනුගමනය කරන්න ඕන variable එකකට නම් දෙද්දි..
- a-z හෝ A-Z අකුරු වලින් හෝ _ වලින් variable name එකක් ආරම්බ විය යුතුයි..
- ඊට පස්සේ නමේ මැදට අගට ඉලක්කම් පාවිච්චි කරන්න පුලුවන්..
- නම Case Sensitive වේ..ඒ කිව්වේ abird කියන නමයි Abird කියන නමයි AbIrd කියන නමයි කියන්නේ නම් 3ක්..
- ගැලපෙන දිගක් පාවිච්චි කරන්න පුලුවන්..
- python interpreter එකෙන් වෙන් කරගත්ත වචන ටිකක් තියනවා..ඒවා variable name එකක් විදිහට පාවිච්චි කරන්න බෑ..ඒ වචන තමා
- and
- as
- assert
- break
- class
- continue
- def
- del
- elif
- else
- except
- exec
- finally
- for
- from
- global
- if
- import
- in
- is
- lambda
- not
- or
- pass
- raise
- return
- try
- while
- with
- yield
අපිට = ලකුනකින් පුලුවන් variable එකකට අගයක් ආදේශ කරන්න..
b=3
c=a+b
print c
එතකොට අපි මෙහෙම බලමු
a='2'
b='3'
c=a+b
print c
මෙතනදි උත්තර 2 වෙනස් වෙලා තියෙන්නේ පලවෙනි පාර python interpreter එකෙන් a කියන variable එකට 2 කියන අගය ආදේශ කරගන්නේ integer දත්තයක් විදිහට.b වලටත් එහෙමයි..
ඒත් දෙවෙනි අවස්ථාවෙදි අපි උඩු කොමා ඇතුලේ දාපු අගයන් a,b වලට ආදේශ කරාම ඒවා string දත්ත විදිහට තමා ආදේශ වෙන්නේ..
මේ නිසා ඔයාල මුලින්ම මේ ප්රධාන python data types ගැන අවබෝධයක් ලබා ගන්න එක වැදගත් වෙනවා..
Python data types
- Boolean-මේ වර්ගයට අයිති වෙන්නේ True හෝ False කියන අගයන් දෙක..එතකොට 0 කියන අගය සහ '' (හිස් string) Fasle විදිහටත් data True විදිහටත් සැලකෙනවා..
- Sequences-මේ වර්ගයට අයිති වෙන්නේ යම් කිසි අනුක්රමයකට අදාලව දීලා තියන දත්ත..මේවා ප්රධාන කොටස් 3කි.
- string-8 bit characters විදිහට අපිට ඔ්නම නමක් ඉලක්කමක් ආදිිය ගබඩා කරන්න පුලුවන්..ඒත් මේවා සංඛ්යාත්මක ගනනය කිරීම් වලට භාජනය කරන්න බෑ.python 3.x version වලදි නම් unicode character උනත් පාවිච්චි කරන්න පුලුවන්..
- tuple
- list( list,tuple ගැන පස්සේ වෙනමම කතා කරමු)
- Numbers-මේ වර්ගයට අයිති වෙන්නේ අංකමය දත්ත..මේවාගේ විශේෂත්වය වෙන්නේ මේව ගණිත කර්ම වලට භාජනය කරන්න පුලුවන්..මේ numbers ප්රධාන ලෙස වර්ග 4යි.ඒ තමා
- int
- long - දිගෙහි සීමාවක් නැති දීර්ඝ සංඛ්යා
- float- සියලුම දශම සංඛ්යා
- complex-සියලුම සංකීර්ණ සංඛ්යා
- Sets-මේ වර්ගයට අයිති වෙන්නේ යම් කිසි අනුක්රමයක් නැති විදිහට (unordered) දීලා තියන දත්ත.
- Mapping-මේකට අයිති වෙන්නේ dictionary කියන data type එක..මෙතනදි වෙන්නේ හැම අංගයකටම ඒත් එක්කම මොකක් හරි විගුහ කිරීමකුත් බැදිලා එනවා..ඒ කිව්වේ name:sinhalahacker,language:sinhala,country:srilanka අන්න ඒ වගේ
දැන් එතකොට මේ datatypes ප්රදෘන විදිහට කොටස් 2කට බෙදන්න පුලුවන්..
- mutable-මේ වර්ගයේ තියන data හැදුවට පස්සේ edit කරන්න පුලුවන්..මේවට උදාහරන තමා dictionary,list,set වගේ ඒවා..
- immutable-මේ වර්ගයේ තියන data හැදුවට පස්සේ edit කරන්න බෑ..මේවට උදාහරන තමා string,integer,tuple වගේ ඒවා..
සරලවම කිව්වොත් අපි
a='sinhalahacker' කියලා string එකක් හදනවා..
දැන් මට ඔ්න වෙනවා මේ string එකේ තියන a අකුරු ඔක්කොම මකන්න..ඒත් string කියන්නේ immutable නිසා මට එහෙම string එකක් ඇතුලේ තියන data edit කරන්න බෑ..ඒත් dictionary එකක වගේනම් ඇතුලේ තියන data එක එකක් වෙන වෙනම edit කරන්න පුලුවන්..
දැන් මට ඔ්න වෙනවා මේ string එකේ තියන a අකුරු ඔක්කොම මකන්න..ඒත් string කියන්නේ immutable නිසා මට එහෙම string එකක් ඇතුලේ තියන data edit කරන්න බෑ..ඒත් dictionary එකක වගේනම් ඇතුලේ තියන data එක එකක් වෙන වෙනම edit කරන්න පුලුවන්..
supiri post eka
ReplyDeleteGodak wadagath post ekK.ela
ReplyDeletei think you have got an idea about python.. go on.....sts....
ReplyDeleteThank you guys!
ReplyDeleteThank you dumindu Sir!