CLICK IT බ්ලොග් අවකාශය Hi There, and Welcome to Our Blog!

EVERY THING AT ONCE / CYBER වැඩ්ඩන්ගේ නවාතැන
  • Lighthouse
Showing posts with label Programming. Show all posts
Showing posts with label Programming. Show all posts

Monday, April 13, 2015

Python Variables and Data Types | Python Lesson 2


Variables(විචල්‍යය)


දැන් අපි බලමු මොකක්ද මේ variable එකක් කියන්නේ කියලා..
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 එකක් විදිහට පාවිච්චි කරන්න බෑ..ඒ වචන තමා
  1. and
  2. as
  3. assert
  4. break
  5. class
  6. continue
  7. def
  8. del
  9. elif
  10. else
  11. except
  12. exec
  13. finally
  14. for
  15. from
  16. global
  17. if
  18. import
  19. in
  20. is
  21. lambda
  22. not
  23. or
  24. pass
  25. print
  26. raise
  27. return
  28. try
  29. while
  30. with
  31. yield

අපිට = ලකුනකින් පුලුවන් variable එකකට අගයක් ආදේශ කරන්න..

a=2
b=3
c=a+b
print c

ඔන්න ඔය වගේ variable එකට ආදේශ වෙච්ච දත්ත පස්සේ අපිට භාවිතා කරන්න පුලුවන්..


එතකොට අපි මෙහෙම බලමු

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කට බෙදන්න පුලුවන්..
    1. mutable-මේ වර්ගයේ තියන data හැදුවට පස්සේ edit කරන්න පුලුවන්..මේවට උදාහරන තමා dictionary,list,set වගේ ඒවා..
    2. immutable-මේ වර්ගයේ තියන data හැදුවට පස්සේ edit කරන්න බෑ..මේවට උදාහරන තමා string,integer,tuple වගේ ඒවා..
    සරලවම කිව්වොත් අපි 
    a='sinhalahacker' කියලා string එකක් හදනවා..
    දැන් මට ඔ්න වෙනවා මේ string එකේ තියන a අකුරු ඔක්කොම මකන්න..ඒත් string කියන්නේ immutable නිසා මට එහෙම string එකක් ඇතුලේ තියන data edit කරන්න බෑ..ඒත් dictionary එකක වගේනම් ඇතුලේ තියන data එක එකක් වෙන වෙනම edit කරන්න පුලුවන්..


    වැඩසටහන් නිර්මානයට Python අර්ථවින්‍යාසකය භාවිතා කරන ආකාරය | Python Lesson 1

    මුලින්ම ඔයාල python interpreter එක install කරගන්න ඕනේ..ඒ නිසා මුලින්ම ඔයාලගෙ පරිගනකයට ගැලපෙන විදිහට download කරගෙන install කරගන්න..




    මෙතනදි ඔයාලට පේනවා ඇති මේ වෙනකොට python 2.7 කියන version එකයි 3.4 කියන version එකයි දෙකම භාවිතා වෙනවා..
    ඒ උනත් මම මෙතනදි පාඩම් ඉදිරියට කරගෙන යන්නේ 2.7 version එක භාවිතා කරලා..මේ 2 අතර පොඩි වෙනසකම් වගයක් තමා තියෙන්නේ..එ උනත් 2.7 වල භාවිතා කරපු program ගොඩක් 3.4 වලදි භාවිතා කරන්න බැරි වෙලා තියනවා..මොකද python 2.7 version එකේදි භාවිතා උන සමහර statement 3.4 වලදි Function වලට හරවල තියනවා..

    ඒත් එක්කම ගොඩක් third party modules තාමත් support කරන්නේ 2.7 version එකට විතරයි..මම විස්වාස කරනවා 2.7 ඉගෙන ගත්ත කෙනෙකුට 3.4 අල්ල ගන්න එක හරිම ලේසි කියලා..

    හරි එහෙනම් දැන් ඔයාල 2.7 version එක install කරගත්තට පස්සේ පේනවා ඇති

    1. IDLE (Python GUI)
    2. Python (command line)
    විදිහට දෙකක් තියනවා..මේ දෙකේ වෙනස තමා python command line එක ගත්තම අපේ පරිගනකයේ තියන Command Prompt(CMD) හරහා python interpreter එක ක්‍රියාත්කම කරවන එක කරනවා..

    ඒ උනත් මේක පාවිච්චි කරන එක ටිකක් විතර අප්‍රසන්න දෙයක් නිසා පාවිච්චි කරන අයට හිතට අල්ලන GUI Application එකක් විදිහට හදපු එක IDLE(IDE-Integrated Development Environment) කියලා හදුන්වනවා..මේ IDE එකක් පාවිච්චි කරාම ලොකු program හදන්න වගේම debugging(දෝෂ නිවැරදි කිරීම) ලේසියෙන් කරන්න පුලුවන්.


    මේ IDE එකට අමතරව තව වැඩ කෑලි තියන NetBeans,PyCharm වගේ IDE තියනවා..මම ලොකු program හදද්දි PyCharm IDE එක පාවිච්චි කරනවා..ඔයාලටත් පුලුවන් ඕනෙනම් ඒ වගේ IDE එකක් පාවිච්චි කරන්න..

    ඔන්න දැන් අපි පලවෙනිම වැඩසටහන හදන්න යන්නේ..

    print 'Hello World'


    ඔන්න එතකොට Hello World කියලා output එකක් එනවා..python වලදි අපි වැඩසටහනක් run කරලා මොකක් හරි ප්‍රතිඵලයක් ගන්නවනේ..අන්න ඒක output කරන්න පාවිච්චි කරන්නේ මේ print statement
    එක..

    හොදයි එහෙනම් මේ Python අර්ථවින්‍යාසකයේදි භාවිතා කරන laws අපි ඊලග ලිපි වලින් බලමු..

    Saturday, April 4, 2015

    Python ක්‍රමලේඛන භාෂාව මුල සිට..| හැදින්වීම හා ඉතිහාසය

    හොදයි එහෙනම් ඔන්න Python Language එක ගැන පාඩම් මාලාව ආරම්භ කරන්න තමා යන්නේ..ඒත් ඊට කලින් මේ programming languages ගැන සහ programmers ගැන පොඩි හැදින්වීමක් කරන්න ඕනේ..

    මොනවද මේ Programming Languages කියන්නේ?


    අපි නූතන ලෝකයේ පාවිච්චි කරන්නේ විද්‍යුත් පරිගනක.මේ විද්‍යුත් පරිගනක වල හැම ක්‍රියාවක්ම පාලනය වෙන්නේ ද්විමය ක්‍රියාවලියකින්..ඒ කිව්වේ එක්කෝ විදුලිය තියනවා..නැත්තන් නෑ..(True or False,1 or 0 etc.)පරිගනකයට අදුරගන්න පුලුවන් වෙන්නේ මෙන්න මේ අවස්ථා දෙක විතරයි..

    ඒත් ඉතින් අපි පරිගනකයක් භාවිතා කරනනේ අපේ යම්කිසි බරපතල වැඩක් ලේසියෙන් කරගන්න ඕන නිසානේ..ඒත් මේ පරිගනකයට කිසිම බුද්ධියක් නෑ තමන් මොකක්ද කරන්න ඕන කියලා තීරනය කරන්න..අපි එයාට මුල ඉදලා අගටම කියලා දෙන්න ඕනේ මොන විදිහටද වැඩ කරන්න ඔන කියලා..

    අන්න එහෙම කියලා දෙන්න නම් පරිගනකය සහ අපි අතර යම් කිසි විදිහකට අදහස් හුවමාරුවක් වගේ දෙයක් වෙන්න ඕනේ..ඒකට තමා අපිට පොදු භාෂාවක් ඕන කරන්නේ..

    උදාහරනයක් විදිහට හිතන්න අපි ලග ඉන්නව රුසියන් ජාතිකයෙක්..අපිට ඕනේ මේ රුසියන් ජාතිකයට 10 පාරක් උඩ පනින්න කියල කියන්න...ඒත් අපි ඒක සිංහලෙන් කිව්වොත්...ඒක එයාට තේරෙන්නේ නෑ..එයා රුසියන් භාෂාවෙන් අපිට දෙයක් කිව්වොත් ඒක අපිට තේරනේනේ නෑ..

    ඉතින් එහෙනම් අපි දෙන්නට දෙන්න අදහස් හුවමාරු කරගන්නනම් එක්කෝ අපි දෙන්නම දන්න පොදු භාෂාවක් යොදා ගන්න වෙනවා..නැත්තන් භාෂා පරිවර්ථකයෙක් ඕන වෙනවා..

    ඒ වගේ තමා අපි පරිගනකයට උපදෙස් දෙන්න යද්දිත් එක්කෝ අපිට යාන්ත්‍රික භාෂාව ඉගෙන ගන්න වෙනවා..නැත්තන් භාෂා පරිවර්තකයෙක්ගේ සහය ගන්න වෙනවා..

    ඒත් මෙතනදි ලොකුම ප්‍රශ්නේ තමා මේ භාෂා පරිවර්තකයට මේ ලොකේ තියන හැම භාෂාවම යාන්ත්‍ර භාෂාවට පරිවර්ථනය කරන්න බෑ..

    මෙන්න මේ විදිහට භාෂා පරිවර්ථකයට හදුනගන්න පුලුවන් විදිහට හදපු භාෂාවක් Programming language එකක් විදිහට හදුන්වන්න පුලුවන්,
    Python වගේ පරිගනක භාෂා වල භාවිතා වෙන්නේ Interpreter කියන භාෂා පරිවර්තකයා..මෙයාගේ තියන විශේෂත්වය වෙන්නේ අපි දෙන උපදෙසෙන් උපදෙසට යාන්ත්‍ර භාෂාවට පරිවර්තනය කිරීම මෙයා සිදු කරනවා..




    C,Pascal වගේ භාෂා වල compiler කියන භාෂා පරිවර්ථකයා භාවිතා වෙනවා..මෙයා කරන්නේ අපි දීලා තියන උපදෙස් ඔක්කෝම එකවර යාන්ත්‍ර භාෂාවට පරිවර්ථනය කරන එක..





    එතකොට BASIC වගේ සමහර භාෂාවල මේ Compilers සහ interpreters කියන 2ම භාවිතා වෙනවා.

    ගොඩක් ඉස්සර පාවිච්චි කරපු Assembly Language එකේදි Assembler කියන භාෂා පරිවර්ථකයා භාවිතා උනා..



    කවුද මේ Programmers?


    අද ගොඩක් අය හිතාගෙන ඉන්නේ programmer කෙනෙක් කියන්නේ පරිගනක මෘදුකාංග හදන කෙනෙක් විතරයි කියලා..ඒ උනත් ඇත්තටම programmer කෙනෙක් කියන්නේ නව නිපැයුම්කරුවෙක්..

    අලුත් දෙයක් සැලසුම් කරලා ඒකට අදාල සැලැස්ම හදලා ඒ සැලැස්මට අදාලව පරිගනක වැඩසටහනක් ලියන එක තමා මේ programmer කෙනෙක් අතින් සිද්ද වෙන්නේ..
    අනිත් අතින් අපි හැමෝම දන්න හැකර් කෙනෙක් බිහිවෙන්නෙත් මේ programmer කෙනෙක් තුලින්මයි..

    ඒ උනත් හොදට මතක තියා ගන්න ඕන දෙයක් තමා Hollywood චිත්‍රපටිවල ඉන්නනේ ඔය අමුතුම විදිහම හැකර්ලා..ඒ කිවේ keyboard එකේ button 2ක් 3ක් ඔබලා සම්පූර්ණ පරිගනක ජාලයක්ම ආක්‍රමනය කරන අය ඉන්නවනේ..

    ඒ උනත් ඇත්ත තත්වය ඊට ගොඩක් වෙනස් කියන එක හොදට තේරුම් ගන්න ඕනේ..මොකද ඔය කියනව වගේ ලේසියෙන් හැක් කරන්න පුලුවන්නම් අද වෙනකොට අන්තර්ජාලයක් කියල දෙයක් ඉතුරු වෙලා නෑ..
    ඒ නිසා ඔයා හොද developper කෙනෙක් වෙන්න ඕන කෙනෙක්නම් හරි එහෙමත් නැත්නම් හොද Hacker කෙනෙක් වෙන්න ඕන නම් හරි අනිවාර්යෙන්ම ඉතා හොද programmer කෙනෙක් වෙන්න වෙනවා..

    Python

    හොදයි එහෙනම් ඔන්න මාතෘකාවට බහින්න තමා යන්නේ..Python කියන්නේ 1989 දි විතර  Guido van Rossum කියන නෙදර්ලන්ත ජාතිකය විසින් නිර්මානය කිරීම අරඹපු ඉහල මට්ටමේ පරිගනක භාෂාවක්..මේ python භාෂාව නිර්මානය වෙන්න අඩිතාලම වැටුනේ ABC කියන පරිගනක භාෂාවෙන්..

    ඔය වගේ හොද ඉතිහාසයක් මේ පරිගනක භාෂාව සතු වෙනවා..

    ඇයි අපි Python තෝරා ගත යුත්තේ?

    python තෝරා ගැනීමට හේතු ගොඩක් තියනවා..

    • ඉගෙන ගැනීමට ඉතා පහසු හා සරල,එහෙත් බලවත් වීම
    • මිනිස් භාෂාවට (English) වඩා සමීප වීම
    • අඩු උපදෙස් ගනනකින් වඩා සංකීර්න වැඩසටහනක් වුවත් නිර්මානය කල හැකි වීම
    • ඉහල රැකියා වෙලදපොලක් පැවතීම
    • Windows,Linux,Unix,Mac OS X ආදී මෙහෙයුමු පද්ධති ගනනාවක් සමග ක්‍රියාකාරී වීම
    • මෘදුකාංග නිර්මානයට මෙන්ම වෙබ් අඩවි නිර්මානයටද යොදාගත හැකි වීම
    මේ වගේ වාසි ගොඩක් තියනවා..

    Python ආධාරයෙන් නිමවූ ප්‍රසිද්ධ වෙබ් අඩවි සහ මෘදුකාංග


    මේ පිලිබද සලකා බැලීමෙිදී පහත ක්ෂේත්‍ර වලදි ප්‍රධාන ලෙස මෙම භාෂාව ප්‍රයෝජනයට ගනී.
    • අන්තර්ජාලය හා සම්බන්ධ වෙබ් අඩවි නිිර්මානයේදී
    • විද්‍යාත්මක හා සංඛ්‍යයාත්මක කටයුතු වලදී
    • අධ්‍යාපනික කටයුතු වලදී
    • රූපක පරිශීලක අතුරුමුහුනත් සහිත මෘදුකාංග නිර්මානයට
    • අනෙකුත් මෘදුකාංග නිර්මානයට
    Google Search Engine,Facebook,YouTube,Yahoo,Bing ආදී සුප්‍රසිද්ද වෙබ් අඩවි නිර්මානයටද python යොදාගෙන ඇති බව ඔබ දන්නවාද?

    තවද NASA ආයතනයේ දෛනික කටයුතු වලදී මෙන්ම වෙනත් ප්‍රසිද්ද මෘදුකාංග නිපදවීම සදහාද මෙම භාෂාව භාවිතා කර ඇත..ඒ පිලිබද වැඩිදුර තොරතුරු http://en.wikipedia.org/wiki/List_of_Python_software

    එහෙනම් python language එක ගෙන ගැනීමේ ප්‍රෙයා්ජන තියනව කියල දැන් ඔයාලට පේනව ඇති..ඊලග ලිපියේ ඉදන් මුල ඉදන් Python Language එක ගැන ලිපි පල කරන්නම්..