Python va asosiy amallar

Xammaga yana bir bor salom,
Ushbu maqolada python (va dasturlash) asoslarini ko'rib chiqamiz, aniqroq: sikllar, shartlar, funksialarni yaratish va ulardan foydalanishni ko'rib chiqamiz. Dasturlash asoslaridan ozgina bo'lsa xam habaringiz bor deb hisoblayman :) ha aytganday pythonni xamma har xil uqidi, piton, payton buyogi o'zingizga hovola.

Asosiy qismga o'tishdan oldin ayrim narsalarga aniqlik kiritib olish kerak bo'ladi. Ko'p dasturlash tillarida dasturni qismi (bloki) sistemali qavslar bilan ajratiladi, pythonda esa tab (otstup) bilan ajratiladi. tab hamma joyda bir hil bo'lishi kerak, yani masalan 4 ta probel, va shu blokni hamma joyda 4 ta probel bo'lishi shart! Aks holda python yozgan kodingizni hato deb hisoblaydi. Men sublime-text da tab uchun 4 ta probel berib qo'yganman. Boshida noqulay bo'lishi mumkin, ammo o'rganib ketganingizdan keyin bu majburiy shart kodingizni qanchalik chiroyli qilayotganini his qilasiz.

Sikllar:

Xamma dasturlash tillari kabi pythonda xam while eng oddiy sikl hisoblanadi. Quyida oddiy misol ko'ramiz:

geniuz@sandy:~$ python
Python 2.7.3 (default, Jan  2 2013, 13:56:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 0
>>> while a<=10:
...     print a
...     a += 1
... 
0
1
2
3
.......
9
10
>>> 

Etibor bergan bo'lsangiz print a va a += 1 bir xil uzoqlikda joylashgan va bu siklni tanasi hisoblanadi.
Judayam ko'p foydalanadiganimiz for sikli. for siklida sonlardan tashqari matnni ichidagi belgilarni o'qib olishimiz ham mumkin, aniqroq php dagi foreach kabi.

>>> matn = "Salom Opennet"
>>> for belgi in matn:
...     print belgi
... 
S
a
l
o
m
 
O
p
e
n
n
e
t
>>> 

Endi sonlar ustidagi sikl amallarini ko'rib chiqsak. Bunda php dayam mavjud range (lekin ko'pchilik foydalanmaydi) funksiasidan foydalaniladi.
range funksiasini qisqacha ko'radigan bo'lsak:

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(5,12)
[5, 6, 7, 8, 9, 10, 11]
>>> range(2,10,2)
[2, 4, 6, 8]

yani, range([boshi],ohiri,[qadam]), [] — qavsdagilar majburiy bo'lmagan parameter.
Endi buni forda ishlatish quyidagicha:

>>> for i in range(5):
...     print i
... 
0
1
2
3
4

Sikllarda boshqa tillardagi kabi break,continue buyruqlari mavjud, keyingi darslarda to'g'ri kelsa batafsil ko'rib chiqarmiz.

IF


>>> a=5
>>> b=3
>>> if a<b:
...     print "b katta"
... else:
...     print "a katta"
... 
a katta

Funksialar

Ko'plab dasturlash tillari kabi pythondayam operatsion tizim tomonidan main funksiasi chaqiriladi.
quyida funksia e'lon qilish va chaqirishni ko'rib chiqamiz (odatdagiday kalkulyator misolida:D):

def qushish(a,b):
	return a+b

def ayirish(a,b):
	c=a-b
	return c

def kupaytirish(a,b):
	return a*b

def bulish(a,b):
	return a/b


if __name__ == "__main__":
	a = 6
	b = 2
	print "qo'shish natijasi = %d" % qushish(a,b)
	natija = ayirish(a,b)
	print "ayirish natijasi = %d" % natija
	print "ko'paytirish natijasi = %d" % kupaytirish(a,b)
	print "bo'lish natijasi = %d" % bulish(a,b)

Ushbu kodni kalkulator.py fayliga saqlaymiz. Birinchi darsni kommentariyalarida aytganimdek qanaqa editor ishlatish o'zingizga hovola. Etibor bergan bo'lsangiz matnni formatlash % orqali amalga oshiriladi, bu erda %d int degani, undan tashqari string qo'ymoqchi bo'lsangiz %s dan foydalanishingiz mumkin (shu jumladan int uchun xam bo'ladi u).
Va nihoyat faylni ishga tushuramiz:

geniuz@sandy:~/projects$ python kalkulator.py 
qo'shish natijasi = 8
ayirish natijasi = 4
ko'paytirish natijasi = 12
bo'lish natijasi = 3

Manimcha bugunga yetarli :)
keyingi darsda OOP va boshqa narsalarni ko'rib chiqamiz.
Etiboringiz uchun raxmat.

6 комментариев

ruslanmedia
man osongina tushundim. rahmat!
0
sultonsanjar
Geniuz, good! Gaplar orasidagi kod parchalari yoki operatorlarni jirniy qilib ajratib qo`ygin, aniq ajralib turgani yaxshi.
1
bahriddin
1 ta savol: qaysidir joyda tabʻni, qaysidir joyda 4 ta probelni bossa, muammo chiqadimi? Menda 2 holda boʻsh joyni belgilasa, 1-holda chiziq, 2-sida 4 ta nuqta koʻrsatadi.
-1