Django Series part 01 සිංහලෙන්
-
What is Django ?
django කියන්නේ python language එක base කරන් හදපු framework එකක්.
then What is framework ?
application එකක් build කරන්න ඕන කරන tools වල එකතුවක් කිසියම් standard එකක් එක්ක. එකියන්නේ authentication & authorization , form validation, database mapping, security වගේ තව ගොඩක් දේවල් වල එකතුවක්.
තව framework එකක ඒගොල්ලොන්ට අදාලව වෙනම rules තියනව... අපිට එතොකොට e rules follow කරන්න සිද්දවෙනවාහරි එහනම්, Django පටන් ගන්න කලින් මේ post එකෙන් python basics ටික cover කරන්නම්.. එතොකොට එක python වලට aluth එක්කෙනේක්ටත් උදව්වක් වෙයි...
Python Introduction
Python is one of the high-level, support multiple programming paradigms, interpreted and general-purpose programming language that is easy to use.
python කියන්නේ general purpose language එකක් නිසා ඔයාට ගොඩක් දේවල් වලට use karanna puluwan .
- Web Development
- Machine learning
- Data Science
- Robotics
- Scripting
මම දකින විදිහට python කියන්නේ දැනට තියන ලස්සනම, එවගෙම් ගොඩක් strong, programming language එකක් :wink:
හරි එහෙනම් මුලින්ම python install karaganna download
Variables
data store කරන්න පුළුවන් Tempory memory allocation unit ekak# string name = "john" # numbers age = 22 # boolean hasError = True # in python world everything is an object type(name) <class 'str'>
Control Flow
කිසියම් condition එකක් මත අපේ program එක run වෙන්න ඕනෙනම් අපි if / else use කරනවාpython වල code block වල (loop , ifelse , function ) scope eka (සරලව කිවොත් area එක) අපි define කරන්නේ indentation walin.
අපි indentation වලට spaces 4ක් use කරනවා...# single condition condition = True if condition: print('condition is true this will execute') else: print('condition is false this will execute') # multiple condition if condition: pass elif condition: pass else: pass
Ternary Operator
මේ operatior එකෙන් condition statement single line ලියන්න පුළුවන්
[If True] if [Expression] Else [If False]name = "john" hasJohn = True if name == "john" else False
Collections
LIST,
multiple values store කරන්න පුළුවන් data structure(layout ) එකක්
mutable (update-able) - එකියන්නේ list එකේ store කරපු values change කරන්න පුළුවන්# js wala array ekak wage # list eka index eka patan ganne 0 walin names = ['john', 'max', 'kevin'] names[0] # john names[1] = "ann" names # ["john", "ann", "kevin"]
Tuple
constant list එකක් එකියන්නේ change karanna bari list එකක් ()names = ('john', 'kevin') names[1] = "max" Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment
Dictionaries
key value pair එකක්...
mutable datastructure ekak
js වල object එකක් වගේ. php වලනම් assosiative array එකක් වගේperson = { 'name': 'max', 'age': 23 } person['name'] # max
Loop
අපිට මොකක් හරි task එකක් repeatedly කරන්න ඕනනම් අපි loop use කරනවා..
condition eka false wenakan loop eke body eka execute wenawa..
loop එකක structure එක තමා පල්ලහ දාල තියෙන්නේ# while loop number = 1 while number < 6: print(number) number += 1 # 1, 2, 3, 4, 5 # for loop numbers = [10, 20, 30, 40] for n in numbers: print(n) # 10, 20, 30, 40 # single line person = { 'name': 'max', 'age': 23 } # items() method used to return list with all keys and values # [ ['name', 23], ['age', 23] ] for key, value in person.items(): print(key) # name , age print(value) # max , 23
Functions
A function is a block of code which only runs when it is called.
input - pass data (arguments)
process - function body
output - return data from the function# python wala function ekak define karanna 'def' keyword eken def sum(num1, num2): result = num1 + num2 return result sum(10, 20) # 30 python keyword arguments support sum kiyana function eka mehema call karanna puluwan sum( num1= 10, num2=20) python *args & **kwargs (js wala rest operator eka wage) *args operator - function eka call karaddi pass karana arguments array ekakata convert karanna puluwan def sum(*args): print(args) # [10, 20, 30] sum(10, 20, 30) **kwargs operator - function eka call karaddi pass karana keyword arguments dicitonary ekakata convert karanna puluwan def sum(**kwargs): print(kwargs) # { 'first': 10, 'second': 20} sum(first=10, second=20)
scope
සරලව බැලුවොත් scope එක කියන්නේ variable access කරන්න පුළුවන් area එක
Python follow කරන්නේ LEGB RULE එක- Local(L) - Defined inside function/class
- Enclosed(E) - Defined inside enclosing functions(Nested function concept)
- Global(G) - Defined at the uppermost level
- Built-in(B) - Reserved names in Python builtin modules
local -> enclosed -> global -> builtin
# local name = "john" def sayName(): name = "kevin" print(name) sayName() # methandi print wenne kevin kiyana local varibale eka... global varibale eka access karanna onanm "global" keyword eka use karanna wenawa (php wage) # global name = "kevin" def sayName(): global name print(name) sayName() # kevin kiyana global variable eka # enclosed name = "global name" def sayName(): name = "outer name" print(name) # global name eka access karanna onam variable eka issarahin **global** keyword eka use karanna def innerName(): name = "inner name" print(name) # outer name eka access karanna onam variable eka issarahin **nonlocal** kiyana keyword eka use karanna ona innerName() sayName() # Built-in Scope from math import floor # floor = 'global pi variable' def outer(): # floor= 'outer floor' def inner(): # floor = 'inner floor variable' print(floor) inner() outer() **LEGB RULE** 1) floor eka inner function scope eke define karalada balanawa , thiynawanm eka gannawa 2) nathnm outerscope eke define karalada balanawa, thiynwanm eka gannawa 3) nathnm global eke define karalada balanawa, thiyanwanm eka gannawa 4) nathnm built-in scope eke balanawa, nathnm error ekak throw karanwa "floor is not defined"
Guys meka simple overview එකක් විතරයි. ඔයා තව ගොඩක් දේවල් ඉගෙන ගන්න වෙනවා. මේ basics ටික තමා අපි django වල ගොඩක් වෙලාවට use කරන්නේ.python වල oop part එක මං දැම්මේ නැහැ මට අද time nathi නිසා. කට්ටිය කැමතිනම් කියන්න මං මේක ඉස්සරහට continue කරන්නම්
-
niyama wadak machn... wade continue krnna
-
meka patta mchan @waex97 supiri
-
superb bro. 2nd part ekath one ikmanata
-
thanks bro. Keep it up
-
@waex97 හැමෝටම තේරෙන විදියට පට්ටෙම ලියලා තියෙනවා.නියමයි :*
-
2nd part eka one
-
niyamai wade digatama karan yanna
-
hoda wadak bro digatama karanna