logo

PYTHON DASTURLASH TILI VA UNING IMKONIYATLARI

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

2174.7783203125 KB
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA TA’LIM	 	
VAZIRLIGI	 	
BUXORO DAVLAT UNIVERSITETI	 	
Fizika	-matematika fakulteti	 	
“Axborot  texnologiyalari”	 kafedrasi	 	
 	
Toshboyeva Guljahon O`tkir qizi	 	
 	
“PYTHON DASTURLASH TILI VA UNING IMKONIYATLARI 	
BO`YICHA USLUBIY QO`LLANMA”	 	
“Kasb ta’limi:Informatika va axborot texnologiyalari” ta’lim yo’nalishi bo’yicha 	
bakalavr darajasini olish uchun	 	
 	
BITIRUV MALAKAVIY ISHI	 	
 	
 	
“Ish ko’rildi va himoyaga ruxsat          	Ilmiy rahbar_____H.Sh.Rustamov	 	
berildi” 	 	                                      	«___» ______________2017y.	 	
Kafedra mudiri                                     Taqrizchi____	 	
______dots.T.B.Boltayev                        «___» ______________2017 y.	 	
«___» 	______________2017 y.	 	
 
 	
«Himoya qilishga ruxsat berildi	» 	
Fakutet	 dekani             prof.Sh.M.Mirzayev	 	
«___» ______________2017 y.	 	
 
 	
Buxoro	-2017	 	
 	  2 	
 	
MUNDARIJA	 	
Kirish ……………………………………………………………………….. 	3 	
I BOB.	 Python	 dasturlash tili va uning sintaksisi .	 	
1.1.	Python dasturlash tili yaratilish tarixi, imkoniyatlari va uni o`rnatish	….. 6	 	
1.2.Python tili sintaksisi, asosiy operatorlari..	…………………………….... 12	 	
1.3.Funksiya, fayllar bilan ishlash, sanoq sistemasi va son...	……………… 18	 	
1.4.Satrlar bilan ishlash	…………………………………	………..	………… 28	 	
II BOB.	 Pythonda ma’lumotlar tuzilmasi va tilning standart modullari	 	
2.1.Ro`yxat va kortej…….	 ………………………………………………… 33	 	
2.2.Lug`atlar va to`plamlar bilan ishlash..	………………………………….. 48	 	
2.3.	Modul tushunchasi, standart kutubxonalar, sys va copy moduli	……….. 55	 	
2.4.Math, cmath, random va os moduli……………..	 ……………………... 60	 	
Xotima 	……………………………………………………………………. 62	 	
Adabiyotlar  	……………………………………………………………… 63	 	
 	  3 	
 	
 	 K	irish	 	
“ Dunyoda ilmdan boshqa                                              
najot yo`q va bo`lmagay. ”	 	
                                                                                   	Imom Al	-Buxoriy.	 	
O‘zbekistonda  ijtimoiy	-iqtisodiy  sohada,  shu  jumladan  axborot	-	
kommunikatsiya  texnologiyalari,  zamonaviy  axborotlashgan  jamiyatni 
shakllantirish  borasida  ken	g  ko‘lamli  islohotlar  izchillik  bilan  va  aniq  maqsadni 	
ko‘zlab amalga oshirilmoqda. 	 	
Zamonaviy	 kadrlarni	 yetishtirish	 borasida	 respublikamiz	 ta‘lim  tizimida  tub	 	
o’zgarishlar  amalga  oshirilmoqda.  Bunga  sabab,  «Ta‘lim	 to’g’risida»gi	 qonun	 va	 	
«Кadrlar	 tayyorlash	 milliy	 dasturi»ning  qabul  qilinishi  va  ularda  ilmiy	-texnika 	
taraqqiyoti 	yutuqlarini ishlab chiqarish va xizmat ko`rsatish sohasiga tadbiq	 qilish, 	
ijtimoiy	-iqtisodiy rivojlanish bilan uzviy bog’liq 	еkanl	igining aniq ko’rsatilishidir. 	 	
Hozirgi kun	da ta’lim	-tarbiya jarayoniga zamonaviy axborot texnologiyalarini 	
joriy etish, ta’limni kompyuterlashtirish muammolarini hal qilish muhim ahamiyat 
kasb etadi.	 	
O’zbekiston  Respublikasi  mustaqillik  odimlarini  dadil  qo’yayotgan  hozirgi 	
davrda axborotlashgan ja	miyat qurish masalasi mamlakatimiz uchun naqadar katta 	
ahamiyat kasb etayotgani hech kimga sir emas. Internet hayotimizning bir bo’lagiga 
aylandi,  biz  uning  xizmatlaridan  har  kuni  foydalanishga  odatlandik. 
Respublikamizda  o’qitish  texnologiyalarini  zamonav	iylashtirishni  jadllashtirish 	
rivojlangan iqtisodiyotli mamlakatlarga qaraganda yanada dolzarb ahamiyatga ega. 
Chunki  hozirgi  kunda  milliy  ta’lim  tizimining  salohiyati  iqtisodiy  rivojlanishning 
yanada  yuqori  pog’onasiga  ko’tarilishga  amaliy  imkoniyat  ta’mi	nlovchi  asosiy 	
ijtimoiy resurs sifatida gavdalanadi.	 	
Respublikamiz  ta’lim  tizimidagi  asosiy  vazifa  jahon  talablariga  mos  keluvchi 	
axborot  texnologiyalarini  o’qitish  jarayoniga  qo’llashdan  iborat.  O’zbekistonda 
ta’lim  tizimining  axborotlashtirilishi  xalqaro	 	hamjamiyatda  ham  tan  olindi. 	
Masofaviy  ta’limni  rivojlantirish  bo’yicha  bir  qator  dasturlar  ishlab  chiqilmoqda. 
Iqtisodiyot  va  jamiyatda  islohotlarning  o’tkazilishi  natijasida  o’quv  jarayonining 
zahira  hajmini  keskin  oshirish  bo’yicha  yangi  talablar  qo’yi	ldi.  Hozirgi  kunda  4 	
 
axborot  eng  asosiy  ishlab  chiqaruvchi  resurslardan  biriga,  iqtisodiyot  va  umuman 
jamiyatning rivojlanish poydevoriga aylanmoqda.	 	
Yangi  axborot 	- kommunikatsion  texnologiyalar  hozirgi  kunda  eng  dolzarb 	
mavzulardan biri bo’lib kelmoqda, sa	babi har bir sohani o’rganish, izlanish va tajriba 	
orrtirish  uchun  turli  usullardan  foydalanish  kerak  bo’ladi.  Shuning  uchun  yangi 
axborot kommunikatsion texnologiyalardan foydalanish maqsadga muvofiqdir.	 	
Respublikamizda  olib  borilayotgan  islohotlarning  tarkibida  yuqori  malakali 	
mutaxasislarning  roli  benihoya  kattadir. 	Birinchi 	Prezidentimiz  ta’kidlaganidek, 	
”Ertangi  kun  yangicha  fikrlay  oladigan  zamonaviy  bilimga  ega  bo’lgan  yuksak 
malakali  mutaxasislarni 	talab  etadi”.  Shu  sababli  xalqimizning  boy  intellektual 	
merosi  va  umumbashariy  qadriyatlari,	 zamonaviy  madaniyat,  iqtisodiyot,  fan, 	
texnika  va  texnologiyalar  asosida  yuksak  mutaxasislar  tayyorlash  tizimi  ishlab 
chiqildi va jadal sur’atlar bilan hayotga tad	biq etilmoqda.	 	
O’zbekistonda  o’qitish  texnologiyalarini  zamonaviylashtirish,	 jadallashtirish 	
rivojlangan iqtisodiyotli mamlakatlarga qaraganda yanada dolzarb ahamiyatga ega. 
Chunki hozirgi kunda milliy ta’lim tizimining salohiyatli tizimli rivojlanishi yan	ada 	
yuqori pog’onaga ko’tarildi.	 	
Bitiruv  malakaviy  ish  mavzu	sining  dolzarbligi:	 	mavzuning  dolzarbligi 	
shundan  iboratki	, Python	 bu  umumiy  maqsadli  dasturlash  uchun  keng  tarzda 	
foydalaniladi	gan  yuqori  darajali  dasturlash  tili, 	chunki  o'rganish  oson  va  qulay 	
sintaksisga  ega.  Undan  tashqari  skriptli  dasturlash  tillariga  kiradi.  Python  dinamik 
tipizatsiyaga  ega,  obyektga  yo'naltirilgan  dasturlash,  funksional  dasturlash, 
strukturali, avtomatik xo	tirani boshqarish va albatta ko'p patokli dasturlash tillaridan 	
biri. 	Python  har  xil  platformalar  uchun  yozilgan	 masalan  Windows,  Linux,  Mac 	
OS	X,  Palm  OS,  Mac  OS  va	 hokazo.  Python 	Microsoft.NET	 platformasi  uchun 	
yozilgan  realizatsiyasi  ham  bor  uni  nomi  IronPython.  Bugungi  kunda  dunyoga 
mashhur  ko`plab kompaniyalar  NASA,  Google,	 Yandex,  CERN,	 Apple  computer, 	
Dream  Works, 	kosmik  teleskop  institutlari  Pythonni  ishlatishadi.	 Dunyoni	ng 	
rivojlangan  mamlakatlari	 AQSH	 (Koliforniya  Universiteti,  Florida  Universiteti, 	
Lova  Universiteti,  Massachustva  Texnologiya  Universiteti	),  Kanada  (Toronto 	
Universiteti,  Alberto  Universiteti),  Buy	uk  Britaniya  (Oksford  Universiteti),  5 	
 
Fransiya,  Rossiya,  Avstraliya,  Ispaniyaning  universitet  va  kollejlarida  o`qitishda 
Python    dasturlash  tili  qo`llaniladi.	 Pythonning  o`ziga  xos  jihatlaridan  biri  bu 	
dasturni  yozish  davomida  quyi  darajadagi  detallarni,  mi	sol  uchun  xotirani 	
boshqarishni hisobga olishga hojat qolmaydi.	 Shuningdek dasturni yozish davomida 	
ortiqcha  kod  yozishdan  xalos  bo`linadi.  Masalan:	 massiv  elementlarini  tartiblash	 	
misolini Paskal va Python dasturi	dagi talqinini taqqoslab solishtirib ko`ra	ylik.	 	
 	
Shu  bilan  birga  Pythonda  dastur  yozayotganda 	begin	-end,  {} 	yoki  satr  tugagani 	
bildirish uchun 	nuqtali vergul 	(;)	 qo`yilmaydi.	 	
Tadqiqot ob'yеkti va prеdmеti:	 Python dasturlash tili. 	Dasturiy ta’minotlar bilan 	
jihozlangan  kompyuter  xonalari	.  Python  dasturlash  tilida  dastur  tuzish  uchun 	
WingWare	, 	Paycharm,  Paydev,  Notepad++  va  boshqa  muhitlari	. Dasturlar	ni 	
tuzishda va muhitlar	 bilan ishlashda kompyuter texnologiyalari, shu bilan birgalikda 	
eng  zamonaviy  usullardan  foydalanish. 	Biz  tadqiqot  obyekti  sifatida  Wingware 	
muhitida ishlab dastur natijalarini olishga harakat qildik.	 	
Ishning  maqsadi  va  vazifalari:	 Python  dastulash  tili  h	aqida	 uslubiy  qo`llanma 	
yaratish	. Python  dasturini  o`rnatish, 	uning  sintaksisini,  opera	tor  va  funksiyalarini 	
o`rganish,  arifmetik  amallarni  bajarishni,  sonlar,  satrlar  bilan  ishlashni 	hamda 	
ulard	an foydalanib masalalar yechishni	 o`rganish.	 Masalalarr yechimini to`griligini 	
kompyuterga  WingWare  muhitiga  kiritib  tekshirib  ko`rish.	 	Python  tilining 	
imkoniyatlarini  ko`rish,  uni  bugungi  kundagi  qanday  loyihalarni  tuzishda 
ishlatilishini  o`rganish	. 	Talabalar  mustaqil  shug’ullanishlari  uchun  uslubi	y 	
qo’llanma  ko’rinishida  tayyorlash.  Talabalarga  kompyuterda  mustaqil  masala 
yechish  usullarini  ko’rsatish  va  talabalarni  dasturlashga  bo’lgan  qiziqishlarini 
oshirish.	 	
 	
 
A.sort()	 	
For	 i:=	0 to	 N-1 do	 	
For	 j:=N	-2 downto	 i 	do	 	
If	 A[j] > A[j+1] 	then begin	 	
c:=A[j]; A[j]:=A[j+1];	 	
A[j+1]:=c	 	
end;	 	
  6 	
 	
Tadqiqot  usuli  va  uslubiyoti:	 	Wingwareda  operatorlarni  ishlatilishini, 	
sintaksisini  o`r	ganib  dasturlash  tilida  kiritib  natijalarni  olib  xulosalab  har  bir 	
operator va funksiyalar haqida to`liq ma’	lumot berishga harakat qilish.	 	
Olingan  asosiy  natijalar	: 	Qo’llanmamizda  Pyhton  dasturlash  tili  uning 	
imkoniyatlari  sintaksisi  kutubxonalari  va 	Python  dasturi  haqida  boshlang’ich  va 	
mukammal  tushunchalar  amaliy  misollar  bilan  birgalikda  yoritildi.	 	Boshqa 	
dasturlash  tillariga  nisbatan	 	Python  dasturini  operator	, 	funksiya	, 	standart 	
kutubxonalarini 	o`rganib  dastur  tuzishda  qo`llash	 va 	undan 	olingan  na	tijalar	ning	 	
afzallik  tomonlari  ko’rsatib  berildi	.  Shular  asosida  Python  dasturlash  tili  va  uning 	
imkoniyatlari bo`yicha o`zbek tilida uslubiy qo`llanma yaratildi.	 	
Natijalarning  ilmiy  yangiligi  va  amaliy  ahamiyati:	 Mazkur 	Python  dasturlash 	
tilini  o`rganish 	talabalarga 	dasturlarni  tuzish  va  masalalarni 	yanada  mukammal 	
ishlay  olish,  samaradorligi  va  ahamiyatlilik  darajasini  oshirish  kabi  imkoniyatlar 
yaratib  bera  oladi. 	Python  dasturlash  tilidan  zamonaviy  dasturlash  tillari  fanini 	
o`qitishda foydalanish 	ilmiy 	yangilikdir va	 bu 	borada uslubiy qo`llanma juda katta 	
ahamiyat kasb etadi.	  	
Tadbiq etish dara	jasi va 	qo’llanish sohasi	. Ushbu qo`llanma Python dasturlash 	
tili haqidagi  boshlangich tushunchalarni  a	kdemik  litsey,  kasb	-hunar  kolleji  va oliy 	
ta’	limning  talabal	ar	iga	 o`rgatishga 	mo	`ljallangan.  Bundan  tashqari  olimpiada 	
masalalarini  yechishda  va  yaxshi  natijalarga  erishishda  ushbu 	dasturlash  tili	dan 	
foydalanish	ni  amalga  osh	irishda  mazkur	 qo`llanma	dan	 foydalanish	 maqsadga 	
muofiq	dir	.  	
Ishning hajmi va tuzilishi:	 Kirish, 2 t	a bob, har bir bobning qisqacha 	xulosasi, 	
foydalanilgan  adabiyotlar  ro’yxati  va  xotimalardan  iborat  holda  bayon  qilingan.  I 
bob	da	 Python  dasturlash  tili  va  uning  sintaksisi	 haqida  malumot  keltirilgan  bo`lib 	
40	 betdan  iborat,  II  bobda 	Pythonda  m	a’lumotlar  tuzilmasi  va  tilning  standart 	
modullari	 keltirilgan. Bu bob 	21	 betdan iborat.	 Jami 	11	 ta 	chizma dan tashkil topgan	. 	
 	  7 	
 	
 	
I-BO	B. PYTHON DASTURLASH TILI VA UNING SINTAKSISI	 	
1.1 	Python dasturlash tili yaratilishi tarixi	, imkoniyatlari va uni 	
o`rnatish	 	
Python  dasturlash  tilini  yaratilishi  1980	-yil  oxiri	 1990	-yil  boshlaridan 	
boshlangan.	 O`sha paytlarda uncha taniqli bo`lmagan Gollandiyaning CWI instituti 	
xodimi Gvido van Rossum ABC tilini yaratilish proe	kt	ida	 ishtirok etgan edi. ABC 	
tili Basic t	ili o`rniga talabalarga asosiy dasturlash konsepsiyalarini o`rgatish uchun 	
mo`ljallangan  til  edi.  Bir  kun  Gvido  bu  ishlardan  charchadi  va  2  hafta  davomida 
o`zining  Macintoshida boshqa oddiy tilning interpretatorini yozdi, bunda u albatta 
ABC  tilining  ba’z	i  bir  g`oyalarini  o`zlashtirdi.	 Shuningdek,  Python  1980	-1990	-	
yillarda keng foydalanilgan Algol	-68, C, C++, Modul3 ABC, SmallTalk tillarining 	
ko`plab  xususiyatla	rini  o`ziga  olgandi.	 Gvido  van  Rossum  bu	 til	ni  internet  orqali 	
tarqata  boshladi	.  Bu  paytda 	o`zining  “Dasturlash  tillarining  qiyosiy  taqrizi”  veb 	
sahifasi bilan internetda 	to 	1996	-yilgacha Stiv Mayevskiy ismli kishi taniqli edi. U 	
ham  Macintoshni  yoqtirardi  va  bu  narsa  uni  Gvido  bilan  yaqinlashtirdi.  O`sha 
paytlarda Gvido BBC ning “Monti Paytonni	ng havo sirki” komediyasining muxlisi 	
edi va o`zi yaratg	an tilni Monti Payton nomiga Pyth	on deb atadi	 (ilon nomiga emas).	 	
Til  tezda  ommalashdi.  Bu  dasturlash  tiliga  qiziqqan  va  tushunadigan 	
foydalanuvchilar  soni  ko`paydi.  Boshida  bu  juda  oddiy  til  edi.  Shu	nchaki  kichik 	
interpretator  bir  nechta  funksiyalarga  ega  edi. 	1991	-yil  birinchi  OYD	(Obyektga 	
Yo`naltirilgan Dasturlash) vositalari paydo bo`ldi. 	 	
Bir  qancha  vaqt  o`tib  Gvido  Gollandiyadan  Amerikaga  ko`chib  o`tdi.  Uni 	
CNRI korparatsiyasiga ishlashga taklif 	etishdi. U o`sha yerda ishladi va korparatsiya 	
shug`ullanayotgan  proektlarni  Python  tilida  yozdi  va  bo`sh  ish  vaqtlarida  tilni 
interpretatorini  rivojlantirib  bordi.  Bu  1990	-yil  Pyt	hon  1.5.2  versiyasi  paydo 	
bo`lguncha  davom  etdi.	 	Gvidoning  asosiy  vaqti  korp	aratsiyani  proektlarini 	
yaratishga  ketardi  bu  esa  unga  yoqmasdi.  Chunki  uning  Python  dasturlash  tilini 
rivojlantirishga  vaqti  qolmayotgandi.  Shunda  u  o`ziga  tilni  rivojlantirishga 
imkoniyat  yaratib  bera  oladigan  homiy  izladi	 va  uni  o`sha  paytlarda  endi  tas	hkil 	
etilgan  BeOpen  firmasi  qo`llab  quvvatladi.  U  CNRI  dan  ketdi,  lekin  shartnomaga  8 	
 
binoan  u  Python  1.6  versiyasini  chiqarib  berishga  majbur  edi.  BeOpen  da  esa  u 
Python 2.0 versiyani chiqardi. 2.0 versiyasi bu oldinga qo`yilgan katta qadamlardan 
edi.  Bu  ve	rsiyada  eng  asosiysi  til  va  interpretatorni  rivojlanish  jarayoni  ochiq 	
ravishda bo`ldi. 	 	
Shunday  qilib  1.0  versiyasi  1994	-yil  chiqarilgan  bo`lsa,  2.0  versiyasi  2000	-	
yil,  3.0  versiyasi  esa  2008	-yil  ishlab  chiqarildi.  Hozirgi 	vaqtda  uchinchi  versiyasi 	
keng q	o`llaniladi.	 	
Python dasturlash tili 	imkoniyatlari	 	
Python	 – bu o'rganishga oson va shu bilan birga imkoniyatlari yuqori bo'lgan 	
oz  sonlik 	zamonaviy 	dasturlash  tillari  qatoriga  kiradi. 	Python	 yuqori  darajadagi 	
ma'lumotlar strukturasi 	va oddiy lekin samarador	 ob	yektga yo'naltirilgan dasturlash 	
uslublarini taqdim etadi.	 	
Pythonning o'ziga xosligi	 	
 	Oddiy,  o'rganishga  oson,  sodda  sintaksisga  ega,  dasturlashni  boshlash  uchun 	
qulay, erkin va ochiq kodlik dasturiy ta'minot.	 	
 	Dastur	ni  yozish  davomida  quyi  darajadagi 	detallarni,  misol  uchun  xotirani	 	
boshqarishni hisobga olish shart emas.	 	
 	Ko'plab platformalarda hech qanday o'zgartirishlarsiz ishlay oladi.	 	
 	Interpretatsiya(	Интерпретируемый	) qilinadigan til.	 	
 	Kengayishga  (	Расширяемый	)  moyil  til.  Agar  dastur	ni  biror  joyini  t	ezr	oq 	
ishlashini  xox	lasak	 shu  qismni  C  yoki  C++  dasturlash  tillarida  yozib 	keyin  shu 	
qismni python kodi orqali ishga tushirsa(chaqirsa	) bo'ladi.	 	
 	Juda h	am ko'p xilma	-xil kutubxonalarga ega.	 	
 	xml/html fayllar bilan ishlash	 	
 	http so`rovlari bilan ishlash	 	
 	GUI(grafik interfeys)	 	
 	Web ssenariy tuzish	 	
 	FTP bilan ishlash	 	
 	Rasmli audio video fayllar bilan ishlash	 	
 	Robot texnikada	  9 	
 
 	Matematik va ilmiy hisoblashlarni programmalash	 	
Pythonni  katta  proyektlarda  ishlatish  mumkin. 	Chunki,  uni  chegarasi  yo`q, 	
imkoniyati yuqori	. Shuningdek, u sodda va universalligi bilan programmalash tillari 	
orasida eng yaxshisidir. 	 	
Python dasturlash tilini o`rnatish.	 	
Agar siz biror GNU/Linux distributivini ishlatayotgan bo'lsangiz ko'p xollarda 	
sizning  tizimingizda 	python 	o'rnatilgan  bo'ladi.	 Buni  tekshirib  ko'rish  uchun 	
terminalingizdan quyidagi buyruqni ishga tushirib ko'ring.	 python 	-V	 	
Agar sizda 	Python 3.4.3 	yozuvi yoki shunga o'	xshash yozuv hosil bo'lsa unda 	
hammasi joyida.	 	
Windows	 operatsion	 tizimiga	 o'rnatish  uchun 	www.python.org/downloads	 	
web  sah	ifasiga  o'tamiz  va  u  yerdan  oxirgi  python  versiyasini  yuklab  olamiz. 	
Pythonni o'rnatish odatiy dastur	lar	ni o'rnatish kabi kechadi. H	ech qanday qiyin joyi 	
yo'q.	 	
 	
1.1	.1	-chizma	. Python dasturining 	o`rnatiluvchi fayli.	 	
Python  dasturlash  tilining  o`rnatuvchi  paketini  ustiga  sichqoncha 	
ko`ratkichini 2 marta bosamiz va bizga quyidagi oyna hosil bo`ladi	.  10	 	
 	
 	
1.1	.2	-chizma. Python dasturini o`rnatishni boshlashni ko`rsatuvchi oyna	. 	
Bu yerda 	Install for all u	sers	-barcha foydalanuvchilar uchun. 	Install just for me	- 	
faqat siz uchun, agar buni tanlab istalyatsiya  qilsak ya’ni o`rnatsak Windo	ws Vista 	
operatsion  sistemasida  xatolik  yuz  beradi  va  dastur  ishlamaydi.  Shuning  uchun 
Install for all users 	ni 	tanlaganimiz maqul. Keyin next tugmasi bosamiz.	 	
 	
1.1	.3	-chizma. Python dasturini o`rnatilish joyini ko`rsatish oynasi.	 	
Bu yerda esa Python dasturlash tilini qayerda o`rnatilishi ko`rsatilayapti.	  11	 	
 
 	 	
1.1	.4	-chizma. Python dasturini o`rnatilish jarayoni.	 	
Python o`rnatilyapti va bir necha sekunddan so`ng quyidagi oyna namoyon bo`ladi:	 
 	
1.1	.5	-chizma. PIP kutubxonasini qo`shish jarayonida hosil boladigan oyna.	 	
Bunda Console rejimida dastur ishga tushib 	pip 	kutubxonasini qo`shadi	.  12	 	
 	
 	
1.1	.6	-chizma. Python 	dasturini o`rnatish tugallanganligi haqidagi muloqot oynasi.	 	
Va dasturni o`rnatish muofaqqiyatli tugallandi.	  	
1.2.	Python tili sintaksisi	, asosiy operatorlari.	 	
Python	 tili sintaksisi o`zi kabi sodda	 	
 	Satr oxiri instruksiyaning  oxiri hisoblanadi (nuqta 	vergul shart emas)	 	
 	Har  bir  qator  boshidagi    bo`sh  joy(	отступ	)  muhim  ahamiyatga  ega.  Kiritilgan 	
amallar  bo	`sh  joylarning  kattaligiga  qarab 	blok	larga  birlashadi.	 	Bo`sh  joy 	
istalgancha bo`lishi mumkin asosiysi bitta kiritilgan blok chegarasida bo	`sh joy bir 	
xil bo`lishi kerak. Noto`g`ri qo`yilgan bo`sh joylar xatolik yuz berishiga olib kelishi 
mumkin.  Bitta  probel  bilan  bo`sh  joy  hosil  qilish  yaxshi  qaror  emas  uni  o`rniga 
to`rtta probel yoki 	Tab 	belgisini ishlatish kerak.	 	
 	Pythonga kiritilgan  amallar   bir xil 	shablonda  yoziladi.  Bunda asosiy  amal  ikki 	
nuqta  bilan  tuga	tiladi  va  uning  orqasidan  kiritilgan  blok  kodi  ham  joylashadi. 	
Odatda, asosiy amalning ostidagi satr bo`sh joy bilan ajratiladi.	 	
Bir nechta maxsus holatlar	  13	 	
 
 	Bazan  bir  nechta  amalni	 bitta  satrga 	nuqtali  vergul  bilan  ajratgan  holda  yozish 	
mumkin.	 	
a = 1; b = 2; print(a, b	) 	
Buni ko`p ham qo`llamang! Yaxshisi bunday qilmang, o`qishga noqulay.	 	
 	Bitta  amalni  bir  nechta  satrga  yozish  mumkin  faqat  aylana,  to`rtburchak  va 	
figurali qavslardan foydanish kera	k.	 	
if (a == 1 	and	 b == 2 	and	 	
c == 3 and d == 4): 	 	
print('spam'*3)	 	
Kalit so`zlar	 	
False	 – yolg`on	. 	
True	 - rost	. 	
None	 - “bo`sh	” obyekt	. 	
and	 – mantiqiy VA	 amali	. 	
with / as	 – konteks menejeri	. 	
break	 –tsikldan chiqish	. 	
class	 – metod va atribu	tlarda iborat.	 	
continue	 – tsikldan keyingi iteratsiyaga o`tish	. 	
def	 – funksiyani aniqlash	. 	
del	 – obyektni yo`qotish	.  	
elif	 – aks holda, agar	. 	
else	 – for/else yoki if/elsega qarang	. 	
for	 – for	 tsikli	. 	
from	 – moduldan bir nechta funksiyani import qilish.	 	
if - agar	. 	
import	 – moduldan import	. 	
is –xotirani bitta joyida 2 ta obyektni jo`natsa bo`ladimi	. 	
lambda	 –yashirin funksiyani aniqlash	. 	
not	 –mantiqiy 	inkor amali	. 	
or 	–mantiqiy Yoki amali	. 	
while	 – while	 tsikli	.  14	 	
 	
K	omentariy	 	
Kommentariy.	 Kommentariy	 # simvolidan  keyin  yoziladi  va  dastur  kodini 	
o'qiyotgan dasturchi uchun eslatma bo'lib xizmat qiladi.	 Misol uchun:	 	
print	('salom dunyo	!') # print 	—	 bu funksiya	 	
yoki:	 	
# print 	—	 bu funksiya	 	
print	('salom dunyo	! ') 	
Komentariy  dastur  kodini  o'qiyotganlar  uchun 	foydali	 bo'ladi  va  dastur	 nima 	
qilishini oson tushunishga yordam beradi.	 Unga yechimdagi muhim joylarni, muhim 	
bo'lgan qismlarni yozish mumkin.	 
O`zgaruvchilar	 	
Biror ma'lumotni saqlash va uning ustida turli amallarni bajarish uchun bizga 	
o'zgaruvchilar 	yordam  beradi.  O'zgaruvchining  qiymati,  o'z  nomi  bilan  aytib 	
tur	ibdiki,  o'zgarishi  mumkin.  U	nd	a  xohlagan  qiymatni  saqlash	 	mumkin.	 	
O'zgaruvchilar  kompyuter  xotirasidagi  joy  bo'lib,  u  yerda  siz  biror  ma'lumotni 
saqlaysiz.  O'zgaruvchining  konstantadan  farqi, 	o'zgaruvchiga  dastur  ishlashi 	
davomida (run	 time) murojaat qilib, uning qiymatini o'zgartira olamiz. Konstantaga 	
esa oldindan ma'lum bir qiymat beriladi va bu qiymatni o'zgartirib bo'lmaydi.	 	
O'zgaruvchilarni nomlashda quyidagi qoidalarga amal qilish kerak:	 	
 	O'zgaruvc	hining  birinchi  belgisi  alifbo  h	arfi  (ASCII  simvollari  katta  va  kichi	k 	
registrda ) yoki “_” (ostki chiziq	) simvoli bo'lishi mumkin.	 	
 	O'zgaruvchilarning  qolgan  qismi 	harflardan  (ASCII  simvollari  katt	a  va  kichik 	
registrda), “_" (ostki chiziq	) simvoli va raqamlardan(0	-9) tashkil topishi mumkin.	 	
 	O'zgaruvchilar nomlashda katta va kichik registrlar farqlanadi. 	Masalan, 	myname va 	
myName 	– bular boshqa	-boshqa o'zgaruvchi hisoblanadi.	 	
 	O'zgaruvchilarni to'g'ri nomlashga misollar	: i, _my_name, 	name_23, a1b2_c3 	 	
 	O'zgaruvchilarni  noto'g'ri  nomlashga  misollar:  2things,  '  ',  my	-name,  >a1b2_c3  va 	
“o'zgaruvchi qo'shtirnoqda"	 	
O`zgaruvchi va konstantalarni qo`llanishiga misol	: 	
i = 5	 	
print	(i)	  15	 	
 
i = i + 1	 	
print	(i)	 	
s = "'Bu ko'p qatorlik satr.	 	
Bu uning ikkin	chi qatori."'	 	
print	(s)	 	
Natija:	 	
5 
6 
Bu ko'p qatorlik satr.	 	
Bu uning ikkinchi qatori.	 	
Yuqoridagi misolda d	astlab biz 5 konstanta qiymatini '=' operatori 	yordamida 	
i o'zgaruvchiga o'zlashtirib olamiz.	 	
i = 5	 	
so'ng 	i o'zgaruvchi qiymatini print funksiyasi 	orqali ekranga chop etamiz.	 	
print	(i)	 	
i o'zgaruvchining qiymatiga 1 qo'shamiz va o'zgaruvchining o'ziga saqlaymiz. 
So'ng 	i o'zgaruvchining qiymatini chop etamiz.	 	
i = i + 1	 	
print	(i)	 	
Yuqoridagi kabi satr konstanta qiymatini 	s o'zgaruvchiga biriktiramiz va 	shundan 	
so'ng uni chop etamiz.	 	
s = "'Bu ko'p qatorlik satr.	 	
Bu uning ikkinchi qatori."'	 	
print	(s)	 	
Eslatma: O'zgaruvchilar oddiy qiymat biriktirish bilan ishlatiladi. 	Hech qanday 	
oldindan e'lon qilib qo'yish talab etilmaydi.	 	
Operatorlar va ifodalar	 	
Dasturdagi ko'p amallar (mantiqiy qatorlar) ifodalardan tashkil topgan. Bunga 	
oddiy misol: 2 + 3. Ifodani operatorlar va operandlarga ajratish mumkin.	 Operator	 	
– bu  biror  amalni  bajaruvchi  va  simvol  yordamida  yoki  zaxiraga  olingan  so'zlar 	
yordamida  ifodalanadigan  funksional.	 Operatorlar  qiymatlar  ustida  biror  amalni  16	 	
 
bajaradi  va  bu  qiymatlar 	operandlar	 deyiladi.  Bizning  xolatda  2  va  3 	– bu 	
operandlar.	 	
Operator	 	No	mlanishi	 	Ta'rifi	 	Misol	 	
+ 	Qo'shish	 	
Ikkita 
ob'yektning 
yig'indisini 
hisoblaydi	 	
3  +  5  ifoda  8  ni 
beradi; 	 	
'a'  +  'b'  ifoda  'ab'  ni 
beradi.	 	
– 	Ayirish	 	
Ikkata sonning 
farqini  beradi. 
Agar  birinchi 
operand 
mavjud 
bo'lmasa, 
uning  qiymati 
0  ga  teng  deb 
olib 	ketiladi.	 	
-5.2  manfiy  qiymat 
beradi, 	 	
50 	– 24  ning  qiymati 	
esa 26 ga teng.	 	
* 	Ko'paytirish	 	
Ikkita  son 
ko'paytmasini 
beradi  yoki 
satrni 
ko'rsatilgan 
miqdorda 
takrorlangan 
yangi  satrni 
qaytaradi.	 	
2 * 3 ifoda 6 beradi. 	 	
'xa' * 3 ifoda 'xaxaxa' 
ni qaytaradi.	 	
**	 	Darajaga ko'tarish 	 	
x  sonini  y 
darajaga 
ko'tarilganda 	
3**4  ifoda  81  ni 
qaytaradi  (ya'ni 
3*3*3*3)	  17	 	
 	
hosil  bo'lgan 
qiymatni 
qaytaradi.	 	
/ 	Bo'lish	 	
'x'  ni  'y'  ga 
bo'lganda 
hosil  bo'lgan 
bo'linmani 
qaytaradi.	 	
4  /  3  ifoda 
1.3333333333333333 
ni beradi.	 	
// 	Qoldi	qsiz bo'lish	 	
Bo'lishdan 
hosil  bo'lgan 
bo'linmaning 
qoldiqsiz 
butun  qismini 
qaytaradi.	 	
4  //  3  ifoda  1  ni 
qaytaradi.	 	
%	 	Qoldiqlik bo'lish	 	
Bo'lishdan 
hosil  bo'lgan 
qoldiqni 
qaytaradi.	 	
8  %  3  ifoda  2  ni 
beradi.	 	
-25.5 % 2.25 ifoda 1.5 
ni beradi.	 	
<<	 	Chapga 	surish	 	
Bit  sonni 
chapga 
ko'rsatilgan 
miqdorda 
suradi.	 	
2  <<  2  ifoda  8  ni 
beradi.  Ikkilik  sanoq 
tizimida  2  soni  10 
ko'rinishiga  ega 
bo'ladi.  Chapga  2  bit 
miqdorida  surish 
1000 beradi, bu o'nlik 
sanoq  tizimida  8  ni 
beradi.	  18	 	
 
>>	 	O'ngga surish	 	
Bit  sonni 
o'ngga 
ko'rsatilgan 
miqdorda 
suradi.	 	
11  >>  1  ifoda  5  ni 
beradi.  Ikkilik  sanoq 
sistemasida  11  soni 
1011  ko'rinishida 
bo'ladi  uni  1  bit 
o'ngga  sursak  101 
hosil  bo'ladi  va  bu 
onlik sanoq tizimida 5 
ni beradi.	 	
&	 	
'Va' bit operatori	 	
(Побитовое	 И	) 	
Sonlar  ustida 
'va'  bit	 	
operatsiyasini 
bajaradi.	 	
5 & 3 ifoda 1 ni beradi	 	
| 	
'Yoki'  bit  operatori 
(Побитовое	 ИЛИ	) 	
Sonlar  ustida 
'yoki'  bit 
operatsiyasini 
bajaradi.	 	
5 | 3 ifoda 7 ni beradi	 	
^ 	
'shartlik  yoki'  bit 
operatori	 	
(Побитовое 
ИСКЛЮЧИТЕЛЬНО	 	
ИЛИ)	 	
Sonlar  ustida 
'shartlik  yoki'	 	
bit 
operatsiyasini 
bajaradi.	 	
5 ^ 3 ifoda 6 ni beradi	 	
~ 	
'Emas'  bit  operatori 
Побитовое	 НЕ	 	
'Emas'  bit 
operatsiyasi  x 
soni  uchun 	-	
(x+1) ga to'g'ri 
keladi.	 	
~5 ifoda 6 ni beradi.	  19	 	
 
< 	Kichik	 	
X	 	qiymat  y 	
qiymatdan 
kichikligini 
aniqlaydi. 
Hamma 
qiyoslash 
operatorlari 
True  yoki 
False 
qaytaradi. 	Bu 	
so'zlardagi 
katta  xarflarga 
e'tibor bering.	 	
5 < 3 False qaytaradi 	 	
3  <  5  ifoda  esa  True 
qaytaradi. 	Ixtiyoriy 	
bir 	– 	biri  bilan 	
bog'langan  ifodalar 
tuzish ham mumkin: 	 	
3 < 5 < 7 ifoda True ni 
qaytara	di	 	
> 	Katta	 	
X	 	qiymat  y 	
qiymatdan 
katta 
ekanligini 
aniqlaydi.	 	
5  >  3  ifoda  True  ni 
qaytaradi.	 	
<=	 	Kichik yoki teng	 	
x  qiymat  y 
qiymatdan 
kichik  yoki 
teng ekanligini 
aniqlaydi.	 	
x  =  3;  y  =  6;  x  <=  y 
ifoda True qaytaradi.	 	
>=	 	Katta yoki teng	 	
x  qiymat  y 
qiymatdan	 	
katta yoki teng 
ekanligini 
anqlaydi.	 	
x  =  4;  y  =  3;  x  >=  3 
ifoda True qaytaradi.	  20	 	
 
==	 	Teng	 	
Ob'yektlarning 
tengligini 
tekshiradi	 	
x  =  2;  y  =  2;  x  ==  y 
ifoda True qaytaradi. 	 	
x = 'str'; y = 'stR';	 	
x  ==  y  ifoda  False 
qaytaradi. 	 	
x = 'str'; y = 'str'; 	 	
x  ==  y  if	oda  True 	
qaytaradi.	 	
!=	 	Teng emas	 	
Ob'yektlar 
teng  emasligi 
to'g'riligini 
tekshiradi.	 	
x  =  2;  y  =  3;  x  !=  y 
ifoda True qaytaradi.	 	
N	ot	 	
Mantiqiy 'emas'	 	
(Логическое НЕ)	 	
Agar  x  True 
bo'lsa, 
operator  False 
qaytaradi. 
Agar  x  False 
bo'lsa  operator 
True 
qaytaradi.	 	
x  =  True;  not  x  ifoda 
False qaytaradi.	 	
A	nd	 	
Mantiqiy  'va' 
(Логическое И)	 	
x  and  y  ifoda 
False 
qaytaradi  agar 
x  False  bo'lsa. 
Aks  holda  y 
ning  qiymatini 
qaytaradi.	 	
x = False; y = True; 	 	
x  and  y  ifoda  False 
qaytaradi, sababi	 	
x 	равно	 	False.  Bu 	
holda  Python  y  ning 
qiymatini  tekshirib 
o'tirmaydi  sababi 
'and'  operatoridan  21	 	
 	
chapdagi  ifoda  qismi 
False ga teng va butun 
ifoda  qiymati  boshqa 
oparatorlar 
qiymatlariga 
bog'liqsiz  ham  False 
bo'ladi.	 	
O	r 	Mantiqiy 'yoki'	 	
x  or  y  agar  x 
True  ga  teng 
bo'lsa  True 
qaytaradi  aks 
xolda  y  ning 
qiymatini 
qaytaradi.	 	
x = True; y = False; 	 	
x  or  y  ifoda  True 
qaytaradi.	 	
1.2.1	-chizma. 	Operatorlar va ularning qo'llanilishi	  	
Operatorlar va ularning qo'llanilishini qisqacha ko'rib chiqamiz. Misol uchun,	 	
arifmetik  ifodalar	ini	 	tekshirib  ko'rish  uchun  interaktiv  interpretatordan 	
foydalanishimiz mumkin. 	Python interpretatori xuddi kalkulator kabi ishlaydi.	 	
  22	 	
 
 	
Matematik amallar va o'zlashtirishlarni qisqacha yozish	 	
Ko'pincha b	ir o'zgaruvchi ustida biror mat	em	atik amal bajarib, natijani o'sha 	
o'zgaruvchining o'ziga o'zlashtirish zaruriyati tug'iladi. 	Bu holda amallarni qisqacha 	
yozish mumkin.	 Siz	 	
a = 2; a = a * 3	 	
ni quyidagicha yozishingiz mumkin:	 	
a = 2; a *= 3	 	
Amallar bajarilish ketma	-ketligi	 	
2 + 3 * 4 	ifodada	 qaysi amal birinchi bajariladi: qo'shishmi yoki ko'paytirish?	 	
Matematika  fanida  ko'paytirish  birinchi  bajarilishi  ko'rsatilgan.  Demak, 	
ko'paytirish  operatori  qo'shish  operatoriga  qaraganda  katta  prioritetga(muhimlik 
darajasiga) ega.	 Quyidagi jadvalda Pyth	on operatorlari prioriteti ko'rsatilgan. Bunda 	
yuqoridan  pastga  qarab  Python  operatorlari  prioriteti  oshib  boradi.  Bu  shuni 
anglatadiki, ixtiyoriy ifodada Python oldin eng q	uyidagi operatorlarni hisoblaydi va 	
keyin  esa  yuqoridagilarini.	 Amaliyotda  esa  amal	larni  qavslar  bilan  aniq  ajratish 	
tavsiya etiladi. Bu dastur kodini oson o'qishga yordam beradi.	 	
Operator	 	Izoh	 	
Lambda	 	lambda ifoda	 	
O	r 	Mantiqiy 'yoki'	 	
A	nd	 	Mantiqiy 'va'	 	
N	ot x	 	Mantiqiy 'emas'	 	
in, not in	 	Tegishlilikni tekshirish 	 	
is, is not	 	Bir xillikni	 tekshirish	 	
<, <=, >, >=, !=, ==	 	Taqqoslash	  23	 	
 
| 	'yoki' bit operatori	 	
^ 	'shartlik yoki' bit operatori	 	
&	 	'va' bit operatori	 	
<<, >>	 	Surilishlar	 	
+, 	– 	Qo'shish va ayirish	 	
*, /, //, %	 	Ko'paytirish, bo'lish, qoldiqsiz bo'lish va qoldiqlik bo'lish	 	
+x, 	-x 	Musbat va manfiy	 	
~x	 	'emas' bit operatori	 	
**	 	Darajaga ko'tarish	 	
x.attribute	 	Atributga link	 	
x[index]	 	Indeks bo'yicha murojat	 	
x[index1:index2]	 	Kesib olish	 	
f(argumentlar …)	 	Funksiyani chaqirish	 	
(ifoda, …)	 	Kortej (Связка или кортеж)	 	
[ifoda, …]	 	Ro'yxat 	(Список)	 	
{kalit:qiymat, …}	 	Lug'at (Словарь)	 	
1.2.2	-chizma. 	Python operatorlari prioriteti	. 	
Bu jadvalda bir xil prioritetga ega bo'lgan operatorlar bir qatorda joylashgan.	 Misol 	
uchun '+' va '	-'. 	
Hisoblash tartibini o'zgartirish	 	
Ifodalarni  o'qishni  osonlashtirish  uchun  qavslarni  ishlatish  mumkin.  Misol 	
uchun, 2 + (3 * 4) ni tushunish oson operatorlar prioriteni bilish lozim bo'lgan 2 + 3  24	 	
 
* 4 ifodadan ko'ra. Qavslarni o'ylab ishlatish kerak. Ortiqcha qavslarni ishlatishdan 
saqlanin	g. Misol uchun: (2 + (3 * 4)).	 	
Qavslarni  ishlatishni  ya'na  bir  afzalligi  hisoblash  tartibini  o'zgartirish 	
imkonini  beradi.  Misol  uchun,  qo'shish  amalini  ko'paytirish  amalidan  birinchi 
bajarish kerak bo'lsa, quyidagicha yozish mumkin:	 	
(2 + 3) * 4.	 	
If	- shart	 operatori.	 	
If 	operatori  shartni  tekshirish  uchun  ishlatiladi.  Pythonda  shart  operatorini  bir 	
necha xil ko`rinishi mavjud:	 	
1.	 if  (mantiqiy  ifoda):	- shart  operatorining  bu  ko`rinishi  mantiqiy  ifoda  rost 	
bo`lgan holda qandaydir kod bajarilishi uchun 	ishlatiladi.	 	
2.	 if  (mantiqiy  ifoda):	…	else	-shart  operatorining  bu  ko`rinishida  mantiqiy  ifoda 	
rost bo`lsa	, birinchi ifodalar bloki bajariladi(bu blok “	if-blok	” deb nomlanadi), 	aks 	
holda 	keyingi ifodalar bloki bajariladi(bu blok “	else	-blok	” deb nomlanadi)	. 	
3.	 if  (	mantiqiy  ifoda):	…	elif(mantiqiy  ifoda):	…	else	- shart  operatorining  bu 	
ko`rinishida 	oldingi  shart  yolg`on  bo`lganda  keyingi  shart  tekshiriladi.  Bu  ifoda 	
o`zida ikkita bir	-biriga bog`liq bo`lgan 	if else	-if else 	ifodani bir ifodada 	if elif else 	
saqlaydi. Bu 	dasturni o`qishni osonlashtiradi.	 	
If operatoriga misol	:  	
 	
N	atija	 	
 	
Kiritilgan	 sonning juft toqligini aniqlash	:  25	 	
 	
 	
N	atija	: 	
 	
Kiritilgan sonni musbat manfiyligini aniqlash:	 	
 	
Natija	: 	
 	
If  opreratorini  pythonda  nafaqat  shart  operatori  sifatida  balki 	tanlash  opretori 	
(switch) sifatida ham qo`llash mumkin	. Masalan:	 	
A  va  B  haqiqiy  sonlarni  hamda  arifmetik  amal  belgisini  kiritgandan  keyin 
ifodani hisoblash dasturi:	 	
 	
Natija:	  26	 	
 	
 	
Yil  oylarining  raqami  kiritilgach  oy  necha  kundan  iborat  ekanligini	 topish 	
dasturi:	 	
 	
 Natija:	 	
 	
 	
Pythonda rostlikka tekshirish	 	
 	Har qanday nolga teng bo`lmagan son yoki bo`sh bo`lmagan obyekt	-rost	 	
 	Nol yoki bo`sh obyekt	-yolg`on	 	
 	Taqqoslash amallari True yoki False qiymat qaytaradi	 	
 	Mantiqiy operatorlar and va or rost yoki 	yolg`on obyekt	-operandni qaytadi	 	
Mantiqiy operatorlar:	 	
X and Y	 	
Rost, agar x va y ham rost bo`lsa	 	
X or Y	 	
Rost, agar x yoki y dan bittasi rost bo’lsa	 	
Not X	 	
Rost, agar x yolg`on bo`lsa	 	
While sikl operatori	 	
While	 operatori quyidagi umumiy ko`rinishga ega:	 	
 
 
While sikl operatorining ishlash tartibi	 	
While 	(shart) {	 	
sikl	_tanasi}	  27	 	
 	
Agar (shart) rost (	true	) qiymatga ega bo`lsa, 	sikl_tanasi 	bajariladi. Qachonki 	
shart yolg`on (	false	) qiymatga teng bo`lsa sikl tugatiladi.	 	
Agar  (shart)  true  qiymatga  ega	 bo`lmasa  sikl  tanasi  biror  marta  ham 	
bajarilmaydi.	 	
Toq sonlarni ekranga chiqarish:                                           Natija:	 	
                                        	 	
For operatori	 	
Python  dasturlash  tilida 	for 	operatori  C  va  Paskal  dasturlash  tillarida 	
qo`llanishidan farq qiladi. Python da 	for 	operatori biroz murakkabroq, lekin	 while	 	
sikliga  qaraganda  ancha  tezroq  bajariladi. 	For…	in 	operatori  obyektlar  ketma	-	
ketligida iteratsiyani amalga oshir	adi, ya’ni bu sikl 	har qanday 	iteratsiya qilinadigan 	
obyekt bo`ylab o`tadi(satr yoki ro`yxat bo`ylab) va har bir o`tish vaqtida sikl tanasini 
bajaradi.	 	
For operatoriga misol:	 	
 	
 	
Range() va xrange funksiyasi	 	
Agar  dasturda	 	sonlarni  ketma	-ket  chiqarish  kerak  bo`lsa 	range() 	
funksiyasidan foydalaniladi. U arifmetik progressiyaga asoslangan ro`yxat tuzadi.	 	
>>>	 range(10)	 	
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]	 	
 
Range(10) funksiyasi 10 ta elementdan iborat bo`lgan ro`yxat tuzadi. Bunda yuqori 
chegara  sifatida  10  beriladi,  lekin  u 	yaratilgan  ro`yxat  ketma	-ketligiga  kirmaydi. 	
Shuningdek funksiyaga quyi chegar	a va qadamni ham berish mumkin.	 	
>>>	 range(5,10)	 	
[5, 6, 7, 8, 9]	  28	 	
 
>>>	 range(0,10,3)	 	
[0, 3, 6, 9]	 	
>>>	 range(	-10,	-100,	-30)	 	
[-10, 	-40, 	-70]	 	
Ketma	-ketlik  indekslarini  tanlash  uchun  ra	nge()  va  len()  funksiyalarini  birgalikda 	
ishlating.	 	
 	
 	
Katta  diapazondagi  raq	amlardan  foydalanib  ro	`yxatni  yaratish 	range() 	funksiyasi 	
o`zini oqlamaydi yoki ba’zi hollarda xotira yetishmaydi	. 	
 	
Shunday hollarda Python da 	xrange() 	funksiyasidan 	foydalaniladi.	 	
Break operatori	 	
Break 	operatori  agar  siklning  bajarilish  sharti  hali 	False	 qiymat  olmagan 	
bo	'lsa ham yoki ketma	-ketlik eleme	ntlari hali tugamagan bo'lsa ham siklni to'xtatish, 	
ya'ni  buyruqlar  bajarilishini  to'xtatish  uchun  xizmat  qiladi	. Shuni  aytib  o'tish 	
kerakki, 	for	 yoki 	while	 sikllarini 	break	 operatori  bilan  to'xtatilsa,  ularga  tegishli 	
bo'lgan 	else	 bloki bajarilmaydi	. 	
Misol:	 	
 	
Natija:	 	
  29	 	
 	
Continue operatori	 	
C	ontinue	 operatori joriy blokdagi o'zidan keyingi qolgan barcha buyruqlarni 	
bajarmay siklning keyingi iteratsiyasidan davom ettirish uchun ishlatiladi.	 	
Misol:	 	
 	
Natija:	 	
 	
1.3. Funsiya, fayllar bilan ishlash, sanoq sistemasi va son.	 	
Funksiyani aniqlash. 	Def	 kalit s	o`zi	 funksiyani aniqlashni taqdim etadi. 	Def 	
so	`zidan  so`ng 	funksiya  nomi	 va  qavs  ichida 	formal  parametrlar  ro`yxati	 	
ko`rsatiladi. Funksiya tanasini hosil qiluvchi instruksiyalar keyingi qatordan boshlab 
bo`sh  joy(	отступь	)  bilan  yoziladi.  Misol  sifatida 	Fibonachi  sonlar  ro`yxatini 	
chiqaradigan funksiyani yaratishimiz mumkin:	 	
 	
Natija:	 	
 	
Yana bir misol sifatida kiritilgan sonning raqamlar yig`indisini hisoblovchi dasturni 
funksiya yordamida yechishni ko`rsak:	  30	 	
 	
 	
Natija:	 	
 	
Python dasturiga kiritilgan	 funksiyalar	. Tiplarni o`zgartiruvchi funksiyala	r. 	
bool(x)	- 	rostlikka  tekshirishni  standart  usulidan  foydalanuvchi  bool  tipiga 	
o`zgartirish. Agar x yolg`on bo`lsa yoki tushirib qoldirilgan bo`lsa, False qiymatini 
qaytaradi, aksincha esa True qaytaradi.	 	
bytearray([manba,  [kodlash[xatolar]]])	- bytearray	 ga  o`zgartirish.  Bytearray	- 	
0<=x<256  diapazondagi  butun  sonlarni  o`zgarmas  ketma	-ketligi.  Konstruktor 	
argumentlari bytearray() ga mos ko`rinishga ega bo`ladi.	 	
complex([real],[image])	- kompleks songa o`zgartirish.	 	
dict(object)	- lug`atga o`zg	 artirish.	 	
float([x])	-haqiqiy  songa  o`zgartirish.  Agar  argument  ko`rsatilmagan  bo`lsa,  0.0 	
qaytaradi.	 	
frozenset([ketma	-ketlik])	 	
int([object],[asosiy  sanoq  sistemasi])	- butun  sonni 	berilgan  sanoq  sist	ema	sidan 	
o`nlik sanoq sistemasiga	 o`	tkaz	ish.	 	
list([object])	-ro`yxat tuzadi.	 	
m	emoryview(object)	- memoryview obyektini tuzadi	. 	
object()	-hamma obyektlarga asos bo`lgan bosh obyektni	 qaytaradi.	 	
range([start=0], stop,[step=1])	- step qadamli start	 dan 	stop	 gacha	 bo`lgan arifmetik 	
progressiya.	 	
set(object)	-to`plam	ni yaratadi.	  31	 	
 
slice([star	t=0],  stop,  [step=1])	-step  qadamga  ega  startdan  stopgac	ha	ga  bo`lgan 	
kesma obekti.	 	
tuple(obj)	- kortejga o`zgartiradi	 	
Qo`shimcha funksiyalar	 	
abs(x)	- absolyut raqamni (sonni modulini) 	qaytaradi.	 	
all(	ketmaketlik	)- agarda hamma elementlar haqiqiy bo`lsa (yoki ketmaketlik bo`sh 	
bo`lsa) True ni qaytaradi.	 	
any(ketmaketlik)	-agarda  elementlardan  hech  bo`lmaganda  bittasi  haqiqiy  bo`lsa 	
True ni qaytaradi. Bo`sh ketmaketlik uchun False qaytaradi.	 	
ascii(object)	- repr  ga  o`xshab  obyekt  ko`rinishiga  mos  qatorni	 ekranga  xuddi 	
shunday	 qaytaradi.	 	
 	
bin(x)	- butun sonni ikkilik sanoq sistemasiga o`tkazadi	 	
chr(x)	-  x ning Unicode ga mos belgini qaytaradi.	 	
classmethod(x)	- sinf metodi ko`rsatgan funksiyani taqdim etadi.	 	
compile( source, filename, mode, flags=0, don’t_inherit=False)	- ketmaketlik eval 	
yoki  exec  funksiyalari  bilan  bajariladigan  dastur  kodiga  komplyatsiya  qilinishi. 
Qator  karetkani  qaytaruvchi  belgilar  yoki  nol	ga  teng  baytlarga  ega  bo`lmasligi 	
kerak.	 	
delattr(object, name)	- “name” nomidan atributni qaytaradi.	 	
dir([object])	- obyekt nomlarining ro`yxati, agar obyekt ko`rsatilmagan bo`lsa, 	local 	
maydondagi nomlar ro`yxati.	 	
divmod(a,b)	 – a  ni  b  ga  bo`lgan	da	 hosil  bo`lgan  bo`linmaning  butun  va  qoldiq 	
qismi.	 	
enumerate(iterable,  start=0)	- nomer  va  unga  mos  ketmaketlik  a’zosidan  tarkib 	
topgan kortejni har bir o`tishda taqdim etuvchi iteratorni qaytaradi.	 	
eval(expression, globals=None, locals=None)	- dastur kodi q	atorini bajaradi.	  32	 	
 
filter(function,  iterable)	- 	function  yordamida  rost  qiymatni  elementlarga 	
qaytaruvchi iteratorni qaytaradi.	 	
format(value [,format_spec])	- formatlash (qatorni formatlash).	 	
getattr(	object,  name,[default]	)- obyekt  atributini  yoki  default.glo	bals()	-global 	
nomlar lugatini chiqaradi.	 	
hasattr(object,  name)	- 	“name”  nomidagi  atribut  obyektga  ega  ekanligini 	
tekshiradi.	 	
hash(x)	- ko`rsatilgan obyektning heshini qaytaradi.	 	
help([object])	- 	dasturni  yordam  qismiga  kiritilgan  ma’lumotnoma  tizimini 	
chaqirish.	 	
hex(x)	- butun sonni o`n oltilik sanoq sistemasiga o`tkazish.	 	
id(object)	-obyekt manzilini qaytaradi	 . 	
input([promt])	- foydalanuvchi  tomonidan  kiritilgan  qatorni  qaytaradi.  Promt	- 	
foydalanuvchiga yordam.	  	
isinstance(object,  ClassInfo)	-agarda  obyek	t  classinf	o  yoki  uning  sinf	osti 	
ekzemplari bo`lsa rost qiymat qaytaradi. Agarda ekzemplar berilgan 	tipdagi obyekt 	
bo`lmasa, funksiya yolg`on qiymat qaytaradi.	 	
issubclass(sinf,  ClassInfo)	-agarda  sinf  ClasssInfo  sinfostisi  bo`lsa  rost  qiymat 	
qaytaradi. Sinf 	o`z	-o`ziga sinfosti bo`ladi.	 	
iter(x)	- iterator obyektini qaytaradi.	 	
len(x)	-ko`rsatilgan obektni elementlar sonini qaytaradi.	 	
locals()	-lokal nomlar lug`ati.	 	
m	ap(function,  iterator)	-ketmaketlikning  har  bir  elementiga  function  funksiyasini 	
qo`llash orqali 	yaratiladigan iterator.	 	
m	ax	(iter,[args…]*[, key])	-ketma	-ketlikning maksimal elementi.	 	
m	in(iter,[args…]*[, key])	-ketmaketlikning minimal elementi.	 	
next(x)	-iteratorning keyingi elementini qaytaradi.	 	
oct(x)	- butun sonni sakkizlik sanoq sistemasiga o`tkazadi.	 	
open(file,  mode=’r’,  buffering=None,  encoding=None,  errors=None, 
newline=None, closefd=True)	- faylni ochadi va kerakli oqimni qaytaradi.	 	
ord(x)	- belgi kodi.	  33	 	
 
pow(x, y[,r])	-(x**y)%r.	 	
reversed(object)	-yoyilgan obyektning iteratori.	 	
print([object,…],*,sep=”  ”,  end=’/n’,  file=sys.stdout)	-  	ma’lumotlar	ni  ekranga 	
chop etish	. 	
round(X,[N])	- verguldan keyin N	- belgilargacha to`g`rilash.	 	
setattr(obekt, nom, qiymat)	- obyekt atributini belgilash	. 	
sorted(i	terable[, key][, reverse])	- tartiblangan	 ro`yxat.	 	
staticmethod(function)	- funksiya uchun statistik metod.	 	
sum(iter, start=0)	-ketmaketlik elementlarini yig`indisi.	 	
type(object)	- obyekt tipini qaytaradi.	 	
type(name, bases, dict)	- name sinfidagi yangi ekzemplarni qaytaradi.	 	
vars([object])	- obyekt atributlarining ro`yxati. Jimlik holatida	- local 	nomlar lug`ati.	 	
Fayllar bilan ishlash	 	
Fayllar 	bilan  ishlash	 file	 klassi  obyektini  hosil  qilish  hamda	 uning	 read	, readline	 	
va	 write	 metodlari  yordamida  amalga  oshiriladi.  Faylni  o’qish  yoki  faylga 	yozish 	
faylni  ochish  vaqtida  ko’rsatilgan  rejimga  bog’liq.  Fayl  bilan  ishlab  bo’lgandan 
keyin	 close	 metodini chaqirish kerak bo’ladi.	  	
  34	 	
 
Natija:	 	
Dasturlash	 qiziqarli.	 	
Agar	 ish	 zerikarli	 bo’lsa,	 	
Unga	 quvnoq	 tus	 berish	 uchun	 – Pythonni	 ishlating!	 	
 	
Bu	 misol	da	 biz	 birinchi	 navbatda	 faylni	 rejim	 ko’rsatgan	 holda	 open	 	
funksiyasi	 bilan	 ochyapmiz.	 Rejim	 o’qish	 uchun	 («r»),	 yozish	 uchun	 («w»)	 yoki	 fayl	 	
oxiriga	 yozuvni	 qo’shish	 uchu	n («a»)	 bo’lishi	 mumkin.	 Faylni	 yana	 qanday	 holda	 	
o’qish,	 yozish	 yoki	 matn	 qo’shish	 holatini	 ham	 ko’rsatish	 mumkin:	 («t»)	 tekst	 	
ko’rinishida	 yoki	 («b»)	 binar	 ko’rinishida.	 	
Bizning	 holatda	 faylni	 yozish	 («w»)	 rejimida	 ochyapmiz	 va	 write	 metodi	 	
yordamida	 matnni	 faylga	 yozyapmiz.	 Shundan	 so’ng	 faylni	 close	 metodi	 yordamida	 	
yopyapmiz.	 So’ng	 xuddi	 shu	 faylni	 o’qish	 rejimida	 ochamiz.	 Bu	 holda	 rejimni	 	
ko’rsatishga	 hojat	 yo’q.	 Sababi	 agar	 rejim	 ko’rsatilmasa,	 fayl	 o’qish	 rejimida	 	
ochiladi.	 Faylni	 qatorma	-qator	 readline	 metodi	 yordamida,	 sikl	 ichida	 o’qib	 olamiz.	 	
Qachonki	 bu	 metod	 bo’sh	 qator	 qayta	rsa,	 u holda	 bu	 biz	 faylning	 oxiriga	 yetib	 	
borganimizni	 anglatadi	 va	 break	 yordamida	 siklni	 to’xtatamiz.	 	
Shundan	 	so’ng	 print	 funksiyasi	 	yordamida	 	o’qib	 	olinayotgan	 	satrlarni	 	
ekranga	 chop	 qilamiz.	 Oxirida	 close	 metodi	 yordamida	 faylni	 yopamiz.	 Haqiqatda	 	
dastur	 matnni	 faylga	 yozganligini	 tekshirish	 uchun	 poem.txt	 faylini	 tekshirib	 	
ko’ring.	 	
Pickle	 	
Pythonning	 pickle	 moduli	 yordamida	 har	 qanday	 obyektni	 faylga	 saqlash	 va	 	
keyinchalik	 fayldan	 o’qib	 olish	 mumkin.	 Bunday	 imkoniyat	 ob’yektlarni	 uzoq	 	
muddat	 saqlash	da	 qo’l	 keladi.	  35	 	
 	
 	
Natija:	 	
['olma',	 'mango',	 'sabzi']	 	
Bu	 misolda	 obyektni	 faylga	 yoz	ish	 uchun	 birinchi	 galda	 faylni	 binar	 	
yozish	 (“	wb	”)	 rejimida	 ochilyapti	, so	’ng	 pi	ckle	 modulining	 dump	 funksiyasi	 	
chaqirilyapti	. Bu	 jarayon	 “konservatsiya”	 (“pickling”)	 deyiladi.	 Shundan	 so’ng	 	
obyektni	 	fayldan	 	o’qib	 	olish	 	uchun	 	pickle	 	modulining	 load	 	funksiyasidan	 	
foydalanilyapti	. 	
Sanoq sistemasi	ning ishlatilishi	 	
Maktab kursidagi i	nformatika fanini	dan	 bizga ma’lumki	, sonlar nafaqat o`nlik 	
sanoq sistemasida balki boshqa 	sanoq sistemalarida ham bo`lishi mumkin. Masalan: 	
kompyuter  ikkilik  sanoq  sistemasidan  foydalanadi  ya’ni  19	-soni  ikkilik  sanoq 	
sistemasida  (kompyuterda)  10011  ko`rinishida  ifodalanadi.  Bu	ndan  tashqari 	
sonlarni 	bir sanoq sistemasidan ikkinchi sanoq sistemas	iga o`tkazish kerak. Python 	
bu uchun  bir qa	ncha funksiyalarni taqdim etadi:	 	
int([object],[sanoq  sistemasi  asosi])	- butun  sonni  berilgan  sanoq  sistemasidan 	
o`nlik sanoq sistemasiga o`tkazadi.	 	
bin(x)	- butun sonni ikkilik sanoq sistemasiga o`tkazadi	  36	 	
 
hex(x)	- butun sonni o`n oltilik sanoq sistemasiga o`tkazadi	 	
oct(x)	- butun sonni sakkizlik sanoq sistemasiga o`tkazadi	. 	
 	
Son	 	
Sonlar P	ython dasturlash tilida 3 turda bo'ladi:	 	
1.	 butun sonlar,	 	
2.	 haqiqiy sonlar 	 	
3.	 kompleks sonlar	 	
 	Butun songa misol 	2,5, …	 	
 	Haqiqiy sonlarga 	misol 3.23 va 52.3e	-4.	 	
 	Kompleks sonlarga misol (	-5+4i) va (2.3	-4.6i)	 	
Butun son	lar	 	
Python  interpretatorida  yuqorida  operator  va  ifodalar  mavzusida  ko`rib 	
chiqqan barcha operatorlarni oddiy matemetika kursida ishlatilganidek bajarilishini 
ko`rdik. Ya’ni 	ko`paytirish, qo`shish, ayirish, bo’lish, darajaga ko`tarish va hokazo. 	
Endi  esa  butun  sonlar  ustida  bajarish  mumkin  bo`lgan  qo`shimcha  metodlarni 
ko`ramiz.	 	
int.bit_length()	- sonni  oldidagi  ishora  va  nollarni  hisobga  olmasdan  uni  ikkilik 	
sanoq sistemasida 	taqdim etish uchun kerakli bo`lgan bitlar soni.	 	
  37	 	
 
int.to_bytes(length, byteorder, *, signed=False)	-shu sonni taqdim etuvchi baytlar 	
qatorini qaytaradi.	 	
 	
classmethod 	int.from_bytes	(bytes,  byteorder,  *,  signed=Fals	e)-berilgan  baytlar 	
qatoriga mos sonni 	qaytaradi	. 	
 	
 	
Haqiqiy sonlar	 	
      	Haqiqiy  sonlar  ham  butun  sonlar  qo`llab  quvvatlovchi  operatsiyalarni  qo`llab 	
quvvatlaydi. Haqiqiy sonlarni ishlatilishiga oddiy misol:	 	
 	
Haqiqiy  sonlar  ustida	 amal  bajarishda  foydalanish 	mumkin  bo	`lgan  qo`shimcha 	
metodlar:	 	
float.as_integer_ratio	- shu	 haqiqiy  son  bilan  juftlik  munosabatida  bo`lgan  butun 	
son.	 	
float.is_integer()	- ko`rsatgich butun son bo`lish bo`lmasligini tekshiradi	.  38	 	
 
float.hex()	-float ni hex ga (o`n oltilik sanoq sistemasiga) o`tkazadi.	 	
classmethod 	float.fromhex(s)	- o`n  oltilik  sanoq  sistemasisdan  floatga  otkazadi. 	
Ya’ni float.hex() ni teskarisi.	 	
 	
Pythonda sonlar bilan ishlaydigan standart metodlardan tashqari bir qancha modullar 
ham bor. 	Math	 moduli	- murakkab matematik funksiyalarni taqdim etadi:	 	
 	
R	andom 	moduli tasodifiy sonlar generatorini tasodifiy tanlov funksiyasini amalga 	
oshiradi:	 	
 	
Kompleks son	 	
Pythonda komleks sonlar ustida arifmetik amallarni butun va haqiqiy sonlar ustida 
bajarilgani  kabi  oddiy  bajarish  mumkin  yani  matematika  kursida 	komleks  sonlar 	
ustida arifmetik amallar qanday bajarilsa xuddi shunga o`xshab bajariladi.	  39	 	
 	
 	
 	
1.4.S	atrlar bilan ishlash	 	
Satrlar 	– bu belgilar ketma	-ketligi.	 Ko'p hollarda satrlar so'zlar jamlanmasidan 	
tashkil  topadi.	 Pythonda  satrlar  bilan  ishlash  juda  q	ulay.  Bir  qancha  satr  literallari	 	
mavjud. Ularni ko`rib chiqamiz	 	
Apostrof va qo`shtirnoqdagi satrlar	 	
 	
 Apostrof  va  qo`shtirnoqdagi  satrlar  bir  narsa.  Uni  ikki  xil  variantda  keltirilishiga 
sabab literallarga apostrof va qo`shtirnoq belgilarini maxsus 	xizmatchi belgilardan 	
foydalanmasdan kiritish mumkinligi deb hisoblanadi.	 	
Ekran bilan ishlash ketma	-ketliklari	-xizmatchi belgilar	  40	 	
 	
Ekran  bilan  ishlash  ketma	-ketliklari	- klaviatura  yodamida  kiritish  murakkab 	
bo`lgan belgilarni yozishga imkon beradi.	 	
Xizmatchi belgilar	 	Vazifasi	 	
\n 	Keyingi qatorga o`tish	 	
\a 	Qo`ng`iroq	 	
\f 	Keyingi betga o`tish	 	
\r 	Koretkani qaytarish	 	
\t 	Gorizontal tabulatsiya	 	
\v 	Vertical tabulatsiya	 	
\N{id}	 	Unicode ma’lumotlar bazasining ID identifikatori	 	
\uhhhh	 	Unicode ning 16 lik 	ko`rinishidagi 16 bitli belgisi	 	
\Uhhhh. .	 . 	Unicode ning 32 lik ko`rinishidagi 32 bitli belgisi	 	
\xhh	 	Belgining 16 lik kodi	 	
\ooo	 	Belgining 8 lik kodi	 	
\0 	Null belgisi (satr oxiri belgisi emas)	 	
1.4.1	-chizma. Ekran bilan ishlash ketma	-ketliklari	. 	
Ko`p 	qatorli satrlar	 	
Python	da	 satrlarni  apostrof(‘)  va  qo`shtirnoqdan  foydalanib  hosil  qilish 	
mumkin	. Apostrof (bir tirnoq(')) 	yoki qo'sh tirno	qni(") 3marta takrorlash orqali esa	 	
ko'p qatorlik satrlarni xosil qilish mumkin.	 Milsol uchun:	 	
 	
Satr  konstantalarini	 birlashtirish  uchun  ularni  yonma	-yon  joylashtirishning  o'zi 	
kifoya. Python avtomat ularni birlashtiradi. Misol uchun: "Ismingiz" "kim?" avtomat 
"Ismingiz kim?" ga aylanadi.	 	
Eslatma: Bir tirnoq va qo'sh tirnoqdagi satrlar bir	-biridan hech ham farq qilmaydi	. 	
Satrlarning funksiya va metodlari	  41	 	
 	
Shunday  qilib  satrlar  bilan  ishlash  haqida	 	gapirdik,  endi  satrlarning 	
funksiyalari va metodlari haqida gapiramiz. Quyida satrlarning barcha funksiya va 
metodlari keltirilgan.	 	
Asosiy operatsiyalar	 	
Konkatenatsiyalash 	(qo`shish)	 	
 	
Satrni takrorlash (dublikat qilish)	 
 	
Satr uzunligi (len() funksiyasi)	 	
 	
Indeks bo`yicha chiqarish	 
 	
Misoldan	 ko	`rinib	 tur	ibid	iki	 Python	 manfiy	 indeks	 bo	`yicha	 chiqarishga	 ruxsat	 	
etadi	, lekin	 hisoblash	 qator	 oxiridan	 boshlanadi	. 	
Kesmani 	ajratib olish	. Kesmani ajratib olish operatori:[X:Y]. X	- kesmaning boshi, 	
Y  esa 	–oxiri.  Y  raqamli  belgi kesmaga  kirmaydi.  Jimlik  holatida birinchi indeks 0 	
ga teng, ikkinchi indeks esa qator uzunligiga teng bo`ladi.	  42	 	
 	
 	
Bundan tashqari kesmani ajratib olish	da qadamni belgilash mumkin	 	
 	
Satrlarning qo`shimcha funksiya va metodlari	 	
Metodlarni  chaqirganga  Pythondagi  satrlar  o`zgarmaydigan  ketma	-ketliklar 	
darajasiga  kirishini  inobatga  olishimiz 	kerak.  Bu  degani  hamma  funksiya	lar  va 	
metodlar faqat yangi satrni 	tuzishi mumkin	.  	
 	
Shuning uchun hamma metodlar yangi satrni qaytaradilar, va u keyin boshqa nomga 
ega bo`ladi.	 	
S = ‘str’; S = “str”; S = ‘’‘str’‘’; S = “”“str”“”	- Satrlarni literallari	 	
S = “s	\np	\ta	\nbbb”	- ekran bilan ishlash ketma	-ketliklari	 	
S = 	r”C:	\temp	\new”	- Formatlashtirilmagan satrlar	 	
S = b”byte”	- Baytlar qatori	 	
S1+S2	- Konkatenatsiya (qo`shish)	 	
S1*3	- Satrni takrorlash	 	
S[i]	- Indeks bo`yicha murojaat	 	
S[i:j:step]	- Step  qadamli  i  elementdan  boshlab  j  elementgacha  bo`lgan  k	esmani 	
ajratib olish	.   43	 	
 	
 	
Len(s)	- Satr uzunligi	 	
 	
S.find(str,[start],[end])	- Satrdan  satr  o	stini  izlash.  Satr  osti	ning  birinchi  belgisini	 	
o`rin	ini qaytaradi, agar satrda satr osti bo`lmasa 	-1ni qaytaradi	. 	
 	
S.rfind(str,[start],[end])	- Satrdan satr ostini axtarish. Oxirgi kirish	 raqamini yoki 1 	
ni qaytaradi	 	
S.index(str,[start],[end])	- Satrdan  satr  ostini  axtarish.  Birinchi  kirish  raqamini 	
qaytaradi yoki ValueError 	istisnosini 	chaqiradi	 	
S.rindex(str,[start],[end])	- Satrdan  satr  ostini  axtarish.  Oxirgi  kirish  raqamini 	
qaytaradi 	yoki ValueError	 istisnosini	 chaqiradi	 	
S.replace(shablon,almashuv)	- Shablonni almashtirish	 	
S.split(belgi)	- Satrni 	har bir so`zini alohida alohida ajratib chiqish	. 	
 	
S.isdigit()	-Satrda raqamlar	 ishtir	ok etganligini tekshirish.	 	
S.isalpha()	-Satr faqat 	harflardan iboratligini tekshirish	 	
S.isalnum()	-Satr harf yoki raqamlardan iboratligini tekshiradi	 	
S.islower()	-Satr quyi registrdagi belgilardan iboratligini tekshiradi	  44	 	
 	
 	
S.isupper()	-Satr yuqori registrdagi belgilardan iboratligini tekshiradi	 	
 	
S.isspace	()-Satrda	 ko	`rinmaydidan	 belgilar	 borligini	 tekshirish	 (probel	, 	sahifani	 	
o`tkazish	 belgisi	(‘\p’), 	yangi	 satrga	 o`tish	(‘\n’), 	koretkani	 qaytarish	(‘\r’), 	gorizontal	 	
tabulyatsiya	(‘\t’) 	va	 vertikal	 tabulyatsiya	) 	
 	
S.istitle()	-Satrda so`zlar bosh harf bilan 	boshlanishini tekshirish	 	
 	
S.upper()	-Satrni yuqori registrga o`zgartirish	 	
 	
S.lower()	-Satrni quyi registrga o`zgartirish	 	
 	
S.starswith(str)	- S satr str shablonidan boshlanishini tekshirish	  45	 	
 
S.endswith(str)	- S satr str shabloni bilan tugashini tekshirish	 	
S.join(ro`yxat)	- S ajratuvchiga ega ro`yxatdan qatorni yig`ish	 	
Ord(belgi)	- Belgiga mos ASCII kodni qaytaradi	 	
 	
Chr(son)	- ASCII kodga mos belgini qaytaradi	 	
 	
S.capitalize()	-Satrning  birinchi  belgisi  yuqori  registrda qolganlari	ni	 quyi  registr	ga 	
o`tkazadi	. 	
 	
S.center(width,[fill])	- Chegaralari  bo`yicha  fill  (jimlik  holatida  probel)  belgisi 	
turuvchi markazlashtirilgan satrni qaytaradi.	 	
S.expandtabs(tabsize)	- Joriy  ustungacha  bir  yoki  bir  qancha  probellar  bilan 	
tabulyatsiyaning  hamma  belgilari  almashtirilgan 	satr  nusxasini  qaytaradi.  Agarda 	
TabSize ko`rsatilmagan bo`lsa tabulyatsiya hajmi 8 probelga teng bo`ladi	 	
S.l	strip([chars])	- Satr boshidagi probel belgilarini olib tashlash	 	
S.rstrip([chars])	- Satr oxiridan probel belgilarini olib tashlash	 	
S.strip	([chars]) 	Satr boshidan va oxiridan probel belgilarini olib tashlash	 	
S.partition(shablon)	- Birinchi  shablon  oldida  turuvchi	 qismni  keyin  shablonni 	
o`zini v	a shablondan keyin turuvchi qismga ega kortejni qaytaradi. Agarda shablon 	
topilmasa  satrga  ega  bo`lgan  kortejni	 qaytaradi,  avval  ikki  bo`sh  satr  keyin  satrni 	
o`zini	. 	
S.rpartition(sep)	- Oxirgi shablon oldida turuvchi qismni keyin shablonni o`zini va 	
shablondan  keyin  turuvchi  qismni  qaytaradi.  Kortej  qator  o`zidan  va  undan  keyin 
ikkita bo`sh qatordan iborat bo`ladi.	 	
S.swapcase()	-Quyi  registrdagi  belgilar	ni	 yuqori  registrga,  yuqorilarni  esa  quyiga 	
o`tkazadi	  46	 	
 	
 	
S.title()	-Har 	bitta 	so`zning  birinchi  harfini  yuqori  registrga  qolganlarini  esa  quyi 	
registrga o`tkazadi	 	
 	
S.zfill(width)	- Qator uzunligini Widthdan kam qilmayd	i agar kerak bo`lsa  birinchi 	
belgilarni nollar bilan to`ldiradi	. 	
 	
 	
Xulosa.	  	
Birinchi	 bobimiz	 “Python dasturlash tili va uning sintaksisi” deb nomlanadi. 	
Bunda Python dasturlash tilining yaratilish tarixi, imkoniyatlari va Python dasturlash 
tilini  Windows 	operatsion  tizimida  o`rnatish 	haqida	 yozilgan	. Python  dasturida 	
ishlaydigan  foydalanuvchilar  u	chun	 uning  sintaksisi,  asosiy  operatorlari,  fayllar, 	
funksiyalar  bilan  ishlash  sanoq  sistemalari  va  satrlar  bilan  ishlash  haqida	 muhim 	
zaruriy 	ma’	lumotlar 	keltirilgan.	 	
Bu  bobni  o`qib,  o`rgangan  har  bir  qiziquvchi 	Python  dasturini  o	`rnatish 	
boshqa  odatiy 	dasturlarni  o`rnatish  kabi  hech  qanday  qiyinchiliksiz  o`rnatilishini, 	
tilning sintaksisi o`zi kabi sod	da va oson ekanligini, o`zgaruvchilarning tipini e’lon 	
qilinmasligini, shuningdek sonlar bilan ishlaganda nafaqat butun va haqiqiy sonlar 
ustida  balki 	kom	pleks	 sonlar  ustida  ham  amallar  bajarishni  ko`rsatilgan  misollar 	
yordamida 	o`rgana oladi va uni amaliyotda bajara oladi.	 	
Satrlar  bilan  ishlash  va  ular  ustida  amallar  bajarish  haqida  ham  yetarlicha 	
ma’lumotlar keltirilgan.	 	
 
 
  47	 	
 	
II BOB. PYTHONDA MA’LUMOTLAR 	TUZILMASI	 VA TILNING 	
STANDART MODULLARI.	 	
2.1. Ro`yxat va kortej	 	
Ro`yxat	- Pythonda  erkin  turdagi  obyektlarning  o`zgaruvchan  qatorlashgan 	
kolleksiyasi hisoblanadi (massivga o`xshash, lekin tiplar har xil bo`lishi mumkin). 
Ro`yxatlardan  foydalanish  uchun  ularni  tuzish  kerak.  Ro`yxatni  har  xil 
yondashuvlar  yordamida  yarati	sh  mumkin. 	Masalan  har  bir  iteratsiya  qilinadigan 	
obyektni	 (masalan  satrni)  Pythonni  o`ziga  kiritilgan 	list	 funksiyasi	 yordamida 	
kiritish mumkin.	 	
 	
Ro`yxatni yana literallar yordamida tuzish mumkin.	 	
 	
Misoldan  ko`rinadiki  ro`yxat  istalgancha  obyektdan 	yoki  hech  narsadan 	
(bo`sh) tashkil topishi mumkin.	 	
Ro`yxat  yaratishning  yana  bir  usuli	- ro`yxatlarning  gene	ratorlari	.  Ro`yxat 	
generatori  bu	- ketma	-ketlikni  har  bir  elementiga  arifmetik  amalni  qo`llab  yangi 	
ro`yxat tuzish usuli. Generatorlar for sikliga jud	a o`xshash bo`ladi.	 	
 	
 Ro`yxatlar generatorining juda murakkab konstruksiyalari bor.	 	
 	
  48	 	
 	
Ro`yxatning funksiya va metodlari	 	
Ro`yxatni  yaratgandan  so`ng  uning  ustida  turli  amallarni  bajarish  kerak 	
bo`ladi	, albatta	, buni	ng uchun	 esa Pythonni o`ziga kiritilgan bir qancha funksiya va 	
metodlar bor.	 	
Metod	 	Vazifasi	 	
List.append(x)	 	Ro`yxat oxiridan element qo`shish	 	
List.extend(L)	 	Oxiriga  hamma  elementlarni  qo`shib 
list ro`yxatini kengaytiradi.	 	
List.insert(i,x)	 	i-elementga x qiymatini	 kiritadi	 	
List.remove(x)	 	Ro`yxatdan  x  qiymatga  ega  elementni 
o`chiradi	 	
List.pop([i])	 	Ro`	yxatning  i	-elementini  o`chiradi  va 	
qaytaradi. 	Agarda  indeks 	
ko`rsatilmagan  bo`lsa  oxirgi  element 
o`chiriladi	 	
List.index(x,[start],[end])	 	X  qiymatga  teng  start  dan 	end  gacha 	
birinchi elementni qaytaradi	 	
List.count(x)	 	X  qiymatga  teng  elementlar  sonini 
qaytaradi	 	
List.sort([key=funksiya])	 	Funksiya asosida ro`yxatni saralaydi	 	
List.reverse()	 	Ro`yxatni ochadi	 	
List.copy()	 	Ro`txatning nusxasi	 	
List.clear()	 	Ro`yxatni 	tozalaydi	 	
2.1.1	-chizma. Ro`yxat metodlari tasnifi	 	
Ro`yxatda metodlarni qo`llanilishini misollar yordamida ko`rib chiqsak	  49	 	
 	
 	
Ro`yxatning  ishlatilishiga  misol:	 bunda 	ro`yxatning  maksimal  elementini  topish  2 	
xil  usulda  max()  standart  funksiyasi  yordamida  va	 har  bir  elementni  birma	-bir 	
solishtirib chiqish orqali yechilgan.	  50	 	
 	
 	
Natija:	 	
 	
Kortejlar	(tuple	) 	
Kortejlar	 bir	 nechta	 ob	’yektlarni	 birgalikda	 saqlashga	 xizmat	 qiladi	. 	Ularni 	
ro’yxatlarga o’xshatish mumkin. Lekin ular ro’yxatlar kabi boy funksionallikka ega	 	
emas.  Ularning  asosiy  jihati  qatorlarga  o’xshab  o’zgarmasliklaridir.	 Kortej	- 	
elementlar orasini v	ergul bilan ajratish orqali hosil qilinadi. Kortejga ma’no jihatdan 	
o`zgarmas  ro`yxat  deb  ta’rif  berdik.  Shu  o`rinda  savol  tug`iladi.  Ro`yxat  bo`lsa 
kortej ni	maga kerak:	 	
1.	 Turli  holatlardan 	himoyalanish.  Bu  degani	 	kortej  o`zgartirishlardan 	
himoyalangan  bo`ladi,  rejali  (bu  yomon)	  va  tasodifiy  (bu  yaxshi)  o`zgarishlardan 	
xalos bo`ladi.	 	
2.	 Kichik hajm. So`zlar bilan ifodalamasdan.	 	
  51	 	
 
3.	 Kortejdan lug`at kaliti sifatida 	foydalanish mumkin	: 	
 	
Kortej  afzalliklari  haqida  bilib  oldik.  Endi  kortej  bilan  qanday  ishlashni  ko`ramiz. 
Bu xuddi ro`yxatlar bilan ishlash	ga	 o`xshaydi. Bo`sh kortejni yaratamiz:	 	
 	
Bir elementli kortejni yarata	miz:	 	
 	
Stop. Satr paydo bo`ldi. Bizga esa 	kortej kerak. Qanday qilib kortejga ega bo`lamiz?	 	
 	
Ura!  Ishladi!  Hamma  gap  vergulda.  Qavuslar  bu  yerda  hech  nimani  anglatmaydi. 
Kortejni yana quyidagicha yatish mumkin.	 	
 	
Lekin 	qa	vus	 qo`yish  lozim,  ba’zi  bir  holatlar  borki  qavuslar  juda  kerak.  Tuple() 	
funksiyasi yordamida iteratsiyalangan obyektdan kortej yaratish mumkin:	 	
 	
Kortejning  elmentlariga  ham 	ro`yxatlardagi  kabi  indeks  bo`	yicha  murojat 	
qilish  mumkin  (masalan:	 element  nechanchi  indeksdaligini  bilish  uchun).  Bunda 	
ham  indekslash  0  (nol)  dan  boshl	anadi  ya’ni  6  ta  elementdan  iborat  kortejning  52	 	
 
indeksi 0..5 gacha bo`ladi.	 Kortej indek	si esa [] operatori orasiga beriladi. Agar bizga 	
kortejning  elementilarini  teskaridan  chiqarish  kerak  bo`lsa  uning  indeksini  manfiy 
(masalan: kortej[	-5])	 beramiz. 	Quyidagi misolda shularni ko`rib chiqamiz.	 	
 	
Natija:	 	
 	
Kortej kesmasi	 	
Kortejning  biror  qi	smini  bo`lagini  ya’ni  kesmasini  ajratish 	uchun(masalan:  2 	
elementidan  to  5	-chi  elementigacha)    uning  indekslari  orasiga	-ikki  nuqta(:) 	
qo’yamiz.	 	
 	
Natija:	 	
 	
 	Kortejni	 o`zgartirish	 	
Kortejlar  ustida  amal  bajarayotganda  “+”  operatori  orqali  ikkita  kortejni 	
qo`shishimiz mumkin, va bu konkatenatsiya deb ham ataladi.	  53	 	
 
 	Kortej elementlarini takrorlash uchun “*” operatoridan foydalanamiz. “+” va 	
“*”  operatorlarini  kortejlarda 	qo`llaganimizdan  so`ng  yangi  ko`rinishdagi  kortejga 	
ega bo`lamiz	 	
 	
Kortejning funksiya va metodlari	 	
Count(x)	-kortejdagi x elementi sonini qaytaradi.	 	
Index(x)	-kortejdagi x elementining indeksini qaytaradi.	 	
Any()	-agar kortej elementi mavjud bo`lsa True 	qiymat qaytaradi, aks holda (kortej 	
bo`sh bo`lsa) False qiymat qaytaradi.	 	
Max()	-kortejning maksimal elementini qaytaradi.	 	
Min()	- kortejning minimal elementini qaytaradi.	 	
Len()	-kortejning uzunligini qaytaradi	. 	
Sorted()	-kortej elementlaridan iborat yangi 	tartiblangan ro`yxatni qaytaradi.	 	
Sum()	-kortej elementlari yig`indisini qaytaradi.	 
 	
Elementni  kortejga  tegishli  ekanligini  tekshirish  uchun 	in	 	kalit  so`zidan 	
foydalaniladi:	  54	 	
 	
 	
Natija:	 	
True	 	
 	
2.2. Lug`atlar va to`plamlar bilan ishlash	 	
Pytho	ndagi  lug`atlar  kalit  bo`yicha 	kirishga  ruxsat  etuvchi  erkin 	
obyektlarning tarti	blangan jamlanmasi. Ularni yana 	asso	tsiativli massivlar yoki hesh 	
jadvallar deb nomlaydilar. Soddaroq qilib aytadigan bo`lsak l	ug’at xuddi manzillar 	
kitobiga o’xshaydi, ya’ni b	iror insonning ismini bilgan holda uning manzili yoki u 	
bilan bo’g’lanish ma’lumotlarini olish mumkin.	 Lug`atlar bilan ishlash uchun ham 	
albatta  uni  yaratish  kerak.  Lug`atni  yaratishni  esa  bir  necha  usullari  bor. 
Birinchidan 	literal yordamida:	 	
 	
Ikkinchidan 	dict() funksiyasi yordamida:	 	
 	
Uchinchidan 	fromkeys metodi orqali:	 	
  55	 	
 
To`rtinchidan 	lug`at  generatori  yoradamida  ular  ro`yxat  generatoriga  juda 	
o`xshash:	 	
 	
Lug`at metodlari	 	
Dict.clear()	- lug`atni tozalaydi.	 	
Dict.copy()	-lug`at nusxasini 	qaytaradi.	 	
Classmethod 	dict.fromkeys(seq[,  value])	- Seq  dan  kalitni  va  Value  qiymatlariga 	
ega bo`lgan lug`atni yaratadi.	 	
Dict.get(key[, default])	-kalit qiymatini qaytaradi, lekin u bo`lmasa	 xatolik beradi	, 	
default (jimlikda None) qaytaradi	. 	
Dict.items()	-juftliklarni qaytaradi(kalit, qiymat)	 	
Dict.keys()	- lug`atdagi kalitlarni qaytaradi	 	
Dict.pop(key[default])	-kalitni yo`qotib qiymatni qaytaradi. Agarda kalit bo`lmasa 	
defaultni qaytaradi.	 	
Dict.popitem()	- juftlikni  o`chirib  qaytaradi  (kalit,  qiymat).  Agarda  l	ug`at  bo`sh 	
bo	`lsa KeyError istisnoni chaqirad	i. Esingizda tursin lug`atlar tartibli emas.	 	
Dict.setdefault(key  [,  default])	-kalit  qiymatni  qaytaradi	, lekin  u  bo`lmasa  xatolik 	
bermaydi, default qiymatga ega kalitni yaratadi	 (jimlikda None).	 	
Dict.update([oth	er])	- other dan juftliklarni (kalit, qiymat) kiritib lug`atni to`ldiradi. 	
Mavjud bo`lgan kalitlar qaytadan yoziladilar. None (eski lug`at) qaytaradi.	 	
Dict.values()	-lug`atdagi qiymatni qaytaradi.	 	
natija:	  56	 	
 
lug`atning qiymati: dict_values(['Gulnoza', '8', 	'1'])	 	
lugatdagi juftliklar yani kalit va uning qiymatlari: dict_items([('ismi', 'Gulnoza'), 
('yoshi', '8'), ('maktabi', '1')])	 	
lugatning kalitlari: dict_keys(['ismi', 'yoshi', 'maktabi'])	 	
lugatning nusxasi: {'ismi': 'Gulnoza', 'yoshi': '8', 'maktabi': '1'}	 	
To`plam	 (set & fro	zenset	) 	
Pythondagi 	to`plam	- tasodifiy  tartibda  va  takrorlan	maydigan  elementlardan 	
tashkil topgan “konteyner” deyiladi. 	To`plam	ni yaratamiz:	 	
 	
Misoldan  ko`rinadiki 	to`plam	 lug`atdagi  literalga  o`xshash  literalga  egalik 	
qiladi, lekin leteral yordamida bo`sh 	to`plam	ni yaratib bo`lmaydi.	 	
To`plam	dan takrorlanadigan elementlardan qutulish uchun foydalanish qulay 	
bo`ladi	: 	
 	
To`plam	lar  bilan  bir  qancha  operatsiyalarni  bajarish 	mumkin:  birlashmalalarni 	
topish, kesimlarni topish…	 	
Len(s)	- to`plam	dagi elementlar soni(	to`plam	 hajmi).	 	
X in s	- ‘x’ ‘s’ 	to`plamg	a tegishli bo`ladimi yo`qmi shuni tekshiradi	  57	 	
 
Set.isdisjoint(other)	-agarda set va other umumiy elementlarga ega bo`lmasalar rost 	
qiymat qaytaradi.	 	
Set==other	- set ning hamma elementlari otherga tegishli bo`ladilar otherni hamma 	
elementlari setga tegishli bo`ladilar.	 	
Set.issubset(other) 	yoki 	set<=other	-set  ning  hamma  elementlari  other  ga  tegishli 	
bo`ladilar.	 	
Set.issuperset(other) 	yok	i set>=other	-analogik holat.	 	
Set.union(other, …) 	yoki 	|other|…	-bir qancha 	to`plam	lar birlashmasi.	 	
Set.intersection(other, …)	 yoki 	&other&…	- kesib olish.	 	
Set.difference(other,  …) 	yoki 	-other	-…	-other  ga  tegishli  bo`lmagan 	set  ning 	
hamma elementlar to`plam	i. 	
Set.symmetric_difference(other);  set^other	- birinchi 	to`plamda  uchraydigan, 	
lekin ularning 	ikkala to`plamning 	kesishmasida uchramaydigan elementlar.	 	
Set.copy	-to`plam nusxasi	 	
To`plamni to`g`ridan	-to`g`ri o`zgartiradigan operatsiyalar	 	
Set.update(other, …); 	set|=other| …	-  to`plam birlashmasi	 	
Set.intersection_update(other, …); set&=other&…	- to`plam kesishmasi	 	
Set.difference_update	(other, ...); set 	-= other | ...	-to`plam ayirmasi	 	
Set.symmetric_difference_update	(other);  set  ^=  other	- 	birinchi  to`plamda 	
uchraydigan,  lekin  ularning  ikkala  to`plamning  kesishmasida  uchramaydigan 
elementlar tashkil topgan to`plam.	 	
Set.add	(elem)	- to`plamga element qo`shadi. 	 	
Set.remove	(elem)	- to`pla	m	dagi  elementni  o`chiradi.	 Agarda  ko`rsatilgan  element 	
to`plamda mavjud bo`lmas	a KeyError ni qaytaradi.	 	
Set.discard	(elem)	- gar to`plamda ko`rsatilgan element bo`lsa uni o`chiradi.	 	
Set.pop	()- to`plamdagi birinchi elementni o`chiradi	, lekin top`lam elementlari tartib 	
bilan joylashmagani uchun birinchi element qaysiligini aniq ko`rsatib	 bo`lmaydi.	 	
Set.clear()	- to`plamni tozaydi.	 	
 	
2.3.	Modul tushunchasi	, standart kutubxonalar, sys va copy moduli.	  58	 	
 	
Standart  kutubxona  modullarini  o`rganishdan  oldin  Pythonda  modul 	
tushunchasiga aniqlik kir	itib olish lozim.	 	
Pyth	on  tilida  bir  xil  vazifani  bajaruvchi  modullar  yig`indisini  bitta  paketga 	
joylashtirish  mumkin.  Shunday  paketlardan  biri  sifatida  XML  paketini  misol  qilib 
keltirish  mumkin.  Ushbu  paket  XML  ning  har  xil 	aspektlarini  qayta  ishlashga 	
mo`ljallangan modullardan	 tashkil topgan.	 	
Python  tilda  dastur  tuzishda  modul  atributlari  modulda  aniqlangan  nomlar 	
bo`lgan obyekt modul sifatida taqdim etiladi.	 	
 	
  Bu  misolda  datetime  moduli  import  qilinayapti.  Import  operatorining  ishi 	
natijasida	 mazkur nomlar kengligida dateti	me nomi bilan obyekt paydo bo`lyapti	. 	
Python tilida modullar oddiy (Pythonda yozilgan) va kengaytiriladigan ya’ni 	
boshqa tilda yoziladigan masalan Python interpretatori yozilgan C dasturlash tilida 
yozilgan  modullarga  bo`linadi.  Foydalanuvchi  nuqtai  nazari	da  ular  ishlash  tezligi 	
bilan  farq  qiladi.	 Satandart  kutubxonada  modul	 2  xil  varian	tda  bo`ladi:	 Pytonda 	
yozigan  yoki  C  da.  Bunga  misol  sifatida	 pickle	 va 	cpickle 	modull	arini  keltirish 	
mumkin.  Odatda  P	ythonda  oddiy  modullar  kengaytirilgan  modullarga 	nisbatan 	
ishlatishda qulay hisoblanadi.	 	
Modul  funksiyalaridan  foyda	lanish  uchun  uni  boshqa  dasturdan	 yuklash 	
(импортировать	)  mumkin. 	Dastlab  standart  kutubxonalar  modullarini  qanday 	
ishlatishni ko’	raylik.	 	
 	
Natija:	  59	 	
 	
 	
Bu	 misolda	 dastlab	 sys	 moduli	 import  buyru	g`i  yordamida  yukla	nyapti	. 	
sys	 moduli 	Py	thon  interpretatoriga  va  uning  muxitiga  ya	’ni  tizimiga  (system) 	
tegishli  funksiyalardan  tashkil  topgan. 	Pyth	on	 import  sys	 buyrug`	ini 	
bajarayotganda	 sys  modulini  qidiradi.  Bu  holatda  sys  standart  modullar	dan  biri 	
bo	`lganligi  uchun,  Pyth	on  uni  qayerdan  izlash  kerakligini  biladi.  Agar  bu 	oddiy 	
modul, 	ya	’ni  Pyth	onda  yozilgan  modul  bo	`lganida  edi,  u  hold	a  Pyth	on 	
uni	 sys.path	 ko	`rsatilgan  kataloglardan  izlagan  bo	`lar  edi.  Agar  modul  topilsa, 	
undagi buyruqlar ba	jariladi va bu modul foydalanishga (	доступным	) shay holatga 	
keladi.	 sys  modulidagi  argv  o’zgaruvchi	siga  murojat  qilish  nuqta  orqali  amalga 	
oshiriladi	 ya’ni  sys.argv.	 Bunday  ifodalashning  afzalligi 	dasturda 	ishlatilishi 	
mumkin bo	`lgan argv o	`zgaruvchi	si 	bilan xatoliklar yuz bermaydi	. sys.argv qatorlar 	
ro	`yxati hisoblanadi. U buyruqlar qatori argumentlaridan	 ya	’ni buyruqlar qatoridan 	
dasturga uzatilgan argumentlardan	 tashkil topgan.	  	
Python dasturida modullarni ulash 	import 	operatori orqali amalga oshirili	shi 	
yuqoridagi misolda ko`rdik. Modullarni ulashini ham 2 xil shakli mavjud: 	 birinchisi 	
import	 operatori  orqali  bo`lsa,  ikkinchisi	 from	-import	 operatori  orqalidir. 	From… 	
import  …  operatori	- argv  o`zgaruvchisini  dasturga  to`g`ridan	-to`g`ri  yuklash 	
uchun 	hamda  har  doim  sys.argv  deb  yozmaslik  uchun,  from  sys  import  argv	 	
ifodasidan  foydalanish  mumkin.  sys  modulida  ishlatiladigan  hamma  nomlarni 
yuklash uchun “from sys import *”	 buyrug	`ini bajarish mumkin	. 	
 	
  60	 	
 	
Standart kutubxonalar	 	
Python  tili  standart 	kutubxonasining  modullarini  shartli  ravishda  mavzular 	
bo`yicha quyidagi guruhlarga ajratish mumkin:	 	
1.	 Bajarish  davri  servislari.  Modular:  sys,  atexit,  copy,  traceback,  math,  cmath, 	
random, time, calendar, datetime, sets, array, struct, intertools, locale, ge	ttext.	 	
2.	 Siklni  qayta  ishlashni  qo`llab	-quvvatlovchi.  Modullar:  pdb,  hotshot,  profile, 	
unittest, pydoc. Paketlar: docutils, distutils.	 	
3.	 OS (fayllar, protseslar) bilan ishlash. Modullar: os, os.path, getopt, glob, popen2, 	
shutil, select, signal, stat, 	tempfile.	 	
4.	 Matnlarni qayta ishlovchi. Modullar: string, re, StringIO, codecs, difflib, mmap, 	
sgmllib, htmllib, htmlentitydefs. Paket: xml.	 	
5.	 Ko`p oqimli hisoblashlar. Modullar: threading, thread, Queque.	 	
6.	 Ma’lumotlarni  saqlash.  Arxivlash.  Modullar:  pickle,  she	lve,  anydbm,  gdbm, 	
gzip, zlib, zipfile, bz2, csv, tarfile.	 	
7.	 Platformaga tobe modullar. UNIX uchun: commands, pwd, grp, fcntl, resource, 	
termios, readline, rlcompleter. Windows uchun: msvcrt, _winreg, winsound.	 	
8.	 Tarmoqni qo`llab	-quvvatlash. Internet protokoll	ari. Modullar: cgi, Cookie, urllib, 	
urlparse, htttplib, smtplib, poplib, telnetlib, socket, asyncore. 	Serverlarga misollar: 	
SocketServer, BaseHTTPServer, xmlrpclib, asynchat.	 	
9.	 Internetni  qo`llab	-quvvatlash.  Ma’lumotlar  formatlari.  Modullar:  quopri,  uu, 	
base	64, binhex, binascii, rfc822, mimetools, MimeWriter, multifile, mailbox. Paket: 	
email.	 	
10.	  Python  uchun.  Modullar:  parser,  symbol,  token,  keyword,  incpect,  tokenize, 	
pyclbr, py_compile, compileall, dis, compiler.	 	
11.	  Grafik interfeys. Modul: Tkinter.	 	
Ko`pincha  m	odullar  o`zida  bir  yoki  bir  nechta  sinflarni  saqlaydilar.  Bu  sinflar 	
yordamida	 kerakli  tipdagi  obye	kt  yaratila	di	,  lekin  gap  moduldagi  nomlar  haqida 	
emas,  aksincha  shu  obtekt  atributi  haqida  boradi.  Bir  nechta  modullar  faqat  erkin 
obyetlar ustida ishlash 	uchun umumiy bo`lgan funksiyalardan iborat bo`ladilar.	 	
Sys  moduli 	  61	 	
 	
Sys  moduli  Python  interpretatorida  dasturni  bajaruvchi  muhitdir.  Quyida  bu 	
modulni eng ko`p qo`llaniladigan obyektla	ri keltilgan:	 	
Exit([c])	- dasturdan chiqish. Tugatishning raqamli kodini 	yuborish mumkin: agarda 	
dasturni tugatish muvafaqqiyatli amalga oshsa 0 ni yuboradi, aksincha bo`lsa ya’ni 
xatolik yuz bersa boshqa raqamlarni yuboradi.	 	
Argv	- buyruqlar qatori argumentlari ro`yxati	. Oddiy holatda sys.argv[0] buyruqlar 	
qatoriga ishga 	tushirilgan dastur nomini va boshqa parametrlar yuboriladi.	 	
Platform	- interpretator ishlaydigan platforma.	 	
Stdin,  stdout,  stderr	- standart  kiritish,  chiqarish,  xalolarni  chiqarish.  Ochiq  faylli 	
obyektlar.	 	
Version	- interpretator versiyasi.	 	
Serecursionlimit(limit)	- 	rekursiv  chaqirishlarni  maksimal  kiritish  darajasini 	
o`rnatadi.	 	
Exc_info()	-kiritish	-chiqarish istisnosi haqida ma’lumot.	 	
Copy moduli	 	
Bu  modul  obyektlarni  nusxalashga  mo`ljallangan  funksiyalarga  ega. 	Boshida 	
Pyhtonda sal sarosimaga 	solish uchun “paradoks” ni ko`rib chiqish tavsiya etiladi.	 	
lst1 = [0, 0, 0]	 	
lst = [lst1] * 3	 	
print(lst)	 	
lst[0][1] = 1	 	
print (lst)	 	
 
Va biz  kutmagan natija paydo bo`ladi:	 	
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]	 	
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]	 	
Gap  shundaki  bu  yerda  lst  ro`yxati  shu  ro`yxatnining  izohiga  ega.  Agarda 	rostdan 	
ham  ro`yxatni  ko`paytirmoqchi  bo`lsak,  copy  modulidagi  copy()  funksiyasini 
qo`llash kerak. 	 	
from copy import copy	 	
lst1 = [0, 0, 0] 	 	
lst = [copy(lst1) for i in range(3)] 	  62	 	
 
print (lst) 	 	
lst[0][1] = 1 	 	
print (lst)	 	
Endi kutilgan natija paydo bo`ladi:	 	
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]	 	
[[0, 1, 0], [0, 0, 0], [0, 0, 0]]	 	
Copy	 modulida	 yuqori	 aniqalikda	 nusxalash	 uchun	 deepcopy	() 	funksiyasi	 bor	 bu	 	
funksiya	 yordamida	 obektlar	 butun	 imkoniyati	 bilan	 rekursiv	 nusxalanadi	. 	
2.4.Math, 	cmath	, random va os	 moduli.	 	
Math  va  cmath 	modullar	ida  haqiqiy  va  compleksli  argumentlar  uchun 	
matematik funksiyalar to`plangan. Bu C tilida foydalaniladigan funksiyalar. Quyida 
math  modulining  funksiyalari 	keltirilgan.  Qayerda  z  harfi  bilan 	argumentga 	
belgilash  kiritilgan  bo`lsa, 	u  cmath  modulidagi  analogik  funksiya  ham  shunday 	
belgilanishini bildiradi.	 	
Acos(z)	-arkkosinus z.	 	
Asin(z)	- arksinus z.	 	
Atan(z)	- arktangens z.	 	
Atan2(y,	 x)	- atan(y/x).	 	
Ceil(x)	- x ga teng yoki katta eng kichik butun son.	 	
Cos(z)	- kosinus z	.  	
Cosh(x)	- giperbolik x kosinusi.	 	
e- e konstantasi.	 	
Exp(z)	- eksponenta (bu degani e**z)	 	
Fabs(x)	-x absolute raqami.	 	
Floor(x)	- xga teng yoki kichik eng katta butun son	 	
Fmod(x,y)	-  x ni y ga bo`lga	ndagi qoldiq qism.	 	
Frexp(x)	- mantisa va tartibni (m, i) juftligi kabi qaytaradi, m	- o`zgaruvchan nuqtali 	
son,  i  esa	- x=m*2**i  ga	 teng  butun  son  bo`ladi.  Agarda  0	-(0,0)  qaytarsa  boshqa 	
paytda 0.5<=abs(m)<1.0 bo`ladi.	 	
Factorial(x)	- x ning faktoriali. 	N!=1*2*3*…*n	 	
Hypot(x,y)	- sqrt(x*x+y*y)	  63	 	
 
Ldexp(m,i)	- m*(2**i).	 	
Log(z)	- natural logarifm z.	 	
Log10(z)	- o`nlik logarifm z.	 	
Log2(z)	-logarifm	 ikki asosga ko`ra z.	 	
Modf(x)	- (y,q) juftlikda x ning butun va kasr qismini qaytaradi.	 	
p-pi konstantasi.	 	
Pow(x,y)	- x**y	. 	
Sin(z)	- z ning sinusi.	 	
Sinh(z)	- z ning giperbolik sinusi.	 	
Sqrt(z)	- z ning kvadrat ildizi.	 	
Tan(z)	- z ning tangensi.	 	
Tanh(z)	- z ning giperbolik tangensi.	 	
Trunc(x)	- x haqiqiy sonning butun qismini qaytaradi	. 	
degrees	(x)-x ni radiandan gradusga o`tkazish.	 	
radians(x)	- x ni gradusdan radianga o`tkazish.	 	
 	
 Random moduli	 	
Bu  modul  har  xil  taqsimotlar  uchun  tasodifiy  raqamlarni  generatsiya  qiladi. 	
Eng ko`p qo`llaniladigan funksiyalari:	 	
Random()	-[0.0, 1.0) yarim ochiq diapozondagi tasodifiy sonlarni generatsiya 	qiladi.	 	
Choice(s)	- s ketma	- ketlikdan  tasodifiy elementni tanlab oladi.	 	
Shuffle(s)	- s o`zgaruvchan ketma	-ketlik elementlarini joyiga joylashtiradi.	 	
Randrange([start],  stop,  [step])	- renge(start,  stop,  step)  diapozondagi  tasodifiy 	
butun raqamni chiqaradi. Choice(range(start, stop, step)) ga analogik holatda.	  64	 	
 
Normalvariate(mu,  sigma)	- 	normal  holatda  taqsimlangan  ketma	-ketlikdan 	
raqamni chiqaradi. Bu yerda mu	- o`rtacha, sigma	-o`rta	 kvad	ratli (sigma>0) sonlar.	 	
 	Boshqa  funksiyalar  va  uning  parametrlarini  hujjatlashdan  aniqlab  olish 	
mumkin. Modulda qandaydir holatga tasodifiy raqamlar generatorini joylashtirishga 
imkon  beruvchi  seed(n)  funksiyasi  ham  mavjud.  Masalan:  agarda  bitta  tasodifiy 
raqamlar ketma	-ketligidan ko`p marta foydalanishga ehtiyoj sezilsa.	 	
Time	 va Sets	 moduli	 	
Time 	modul	i joriy vaqtni olish uchun va vaqt formatlarini o`zgartirish uchun 	
fuksiyalarni taqdim etadi.	 	
Sets 	modul	i 	to`p	lam	lar  uchun	 	ko`rsaatgichlar  tipini  amalga  oshiradi. 	
Quyidagi  misol  bu  moduldan  qanday  foydalanish  mumkinligini  ko`rsatadi.  Su 
o`rinda  bilishimiz  kerakki,  Python  2.4  va  undan  yuqori  versiyalarda  set  tipi  sets 
o`rniga kiritilgan. 	 	
import sets	 	
A = sets.Set([1, 2, 3])	 	
B 	= sets.Set([2, 3, 4])	 	
print (A | B, A & B, A 	- B, A ^ B)	 	
for i in A:	 	
    	if 	I in B: print (i,)    	 	
Natijada:	 	
Set([1, 2, 3, 4]) Set([2, 3]) Set([1]) Set([1, 4]) 	 	
2 3	 	
Array va struct modullari	 	
Bu  modullar  past  darajali  massiv  va  korsatgichlar  tuzilmasini 	amalgam  oshiradi. 	
Ularning asosiy vazifasi	- ko`rsatgichlarning ikkilamchi formatlarini ko`rib chiqish.	 	
Os moduli	 	
Os  moduli	-har  xil  operatsion  sistemalarning  o`ziga  xos  xususiya	tlari  bilan 	
ishlovchi kategoriyadagi asosiy modul hisoblanadi. Bu modul 	funksiyalari ko`plab 	
operatsion  sistemalarda  ishlaydilar.  Kataloglarni  bo`luvchi  os  moduli  va  u  bilan 
bog`liq bo`lgan ifodalar konstanta ko`rinishida berilgan.	 	
K	onstanta	 	V	azifasi	 	
Os.curdir	 	Joriy katalog	  65	 	
 
Os.pardir	 	Bosh katalog	 	
Os.sep	 	Yo`lning elementlari	ni taqsimlovchi	 	
Os.altsep	 	Boshqa  yo`lning  elementlarini 
taqsimlovchi	 	
Os.pathsep	 	Yo`llar  ro`yxatidagi  yo`llarni 
taqsimlovchi	 	
Os.defpath	 	Yashirin yo`llar ro`yxati	 	
Os.linesep	 	Satrni yakunlovchi belgi	 	
2.4.1	-chizma. Kataloglarni bo`luvchi os moduli 	ifodalari konstanta ko`rinishida	 	
 	Pythondagi  dastur  operatsion  tizimda  alohida  jarayon  ko`rinishida  ishlaydi. 	
Os  modulining  funksiyalari  protsesda,  muhitda  bajariladigan 	turli  xildagi 	
ahamiyatga ega bo`lgan kirishlarga ruxsat etadilar. 	Os modulining eng mu	him ruxsat 	
etuvchi  obyektlaridan  biri  deb  environ  o`rab  oluvchi  muhiti  o`zgaruvchilarning 
lug`ati  hisoblanadi.  Masalan  o`rab  oluvchi  muhit  o`zgaruvchilar  yordamida  web 
server CGI	-ssenariyga bir qancha parametrlarni o`tkazadi. Quyidagi misolda PATH 	
o`rab ol	uvchi muhiti o`zgaruvchini olish mumkin:	 	
import os 	 	
PATH=os.environ[‘PATH’]	 	
 	Funksiyalarning  katta  qismi  fayllar  va  kataloglar  bilan  ishlashga 	
mo`ljallangan. Quyida UNIX va Windows OT lar uchun ruxsat etilgan funksiyalar 
taqdim etilgan:	 	
Access(path,  flags)	- path    nomli  fayl  yoki  catalog  ruxsat  etish(	доступь	)  ni 	
tekshiradi. Buyurma qilishga rucsatning tartibi flags raqami bilan belgilanadi. U esa 
yaratilgan  kombinatsiyalar  os.F_OK  (fayl  mavjud),  os.R_OK  (fayldan  o`qish 
mumkin),  os.W_OK  (	faylga  yozish  mumkin	) va  os.X_OK  (fayllarni  bajarishni, 	
katalogni ko`rib chiqish mumkin) bayroqlari bilan belgilash mumkin.	 	
Chdir(path)	- path ni joriy ishchi katalog qiladi.	 	
Getcwd()	- joriy ishchi catalog.	 	
Chmod(path, mode)	- mode ga path bo`lgan ruxsat etish rejimini belgilayd	i. Ruxsat 	
etish  tartibi  bayroqlarni  kombinatsiya  qilib  belgilashi  mumkin.  Bu  ishda  chmod()  66	 	
 
harakatda  bo`lgan  tartibni  to`ldirmaydi,  uni  y	angidan  belgilamaydi,  uni  yangidan 	
belgilaydi.	 	
Listdir(dir)	- dir  katalogidagi  fayllar  ro`yxatini  qaytaradi.  Ro`yxatga  m	axsus 	
belgilar “.” va “..” kirmaydi.	 	
Mkdir(path [, mode])	- path katalogini tuzadi. Jimlik holatida mode tartibi 0777 ga 	
teng  bo`ladi,  bu  degani  S_IRWXU|S_IRWXG|S_IRWXO  agarda  stat  moduli 
konstantalari bilan foydalansak.	 	
import	 os	 	
os	.mkdir	(‘C:	\Users	\Guljakhon	\Desktop	\Новая папка	\katalog	\dir2’)	 	
#ko`rsatilgan manzilda dir2 nomli yangi katalog yaratadi.	 	
import	 os	 	
os	.mkdir	('./dir2'	) 	
#joriy manzilda dir2 nomli yangi 	catalog	 yaratadi.	 	
Makedirs(path  [,mode])	- hamma  kataloglarni  yaratuvchi,  agarda	 ular  mavjud 	
bo`lmasalar  mkdir()  analogi	 oxirgi 	katalog  mavjud  bo`lgandan  so`ng  mustasnoni 	
ishga tushiradi.	 	
Remove(path),  unlink(path)	- path  katalogini  yo`qotadi.  Kataloglarni  yo`qotish 	
uchun rmdir() va removedirs() dan foydalanadi.	 	
Rmdir(path)	- path nomli	 bo`sh katalogni yo`qotadi.	 	
Removedirs(path)	- birinchi bo`sh bo`lgan kataloggacha pathni yo`q qiladi.	 Agarda 	
yo`lda eng oxirgi kiritilgan katalog osti bo`sh bo`lmasa	 OSError mustasnosini ishga 	
tushiradi.	 	
Rename(src, dst)	- src fayli yoki katallogini dst deb	 qayta nomlaydi.	 	
Renames(src,  dst)	- rename()  analogi  dst  yo`li  uchun  kerakli  kataloglarni  yaratadi 	
va src yo`lining bo`sh kataloglarini yo`qotadi.	 	
Stat(path)	- path  haqidagi  malumotni  o`nta  elementlik  kortej  shaklida  qaytaradi. 	
Kortej elementlariga kirish u	chun stat moduli konstantalaridan foydalanish mumkin. 	
Masalan stat.ST_MTIME (faylning oxirgi modifikatsiyasi vaqti).	 	
Utime(path, times)	- oxirgi modifikatsiya (mtime) va faylga kirishga ruxsat(atime) 	
larini  belgilaydi.  Boshqa  holatlarda  times  ikki  elementli	 kortej  (atime,  mtime) 	
sifatida ko`rib chiqiladi. Qaysidir faylni atime va mtime ni olish uchun stat() va stat 
modulining konstantalarini barobar ishga tushirib olish mumkin.	  67	 	
 
 	Os moduli protsesslar bilan ishlash uchun quyidagi funksiyalarni taqdim etadi 	
(u	lar ham UNIX hamda windowsda ishlaydilar).	 	
System(cmd)	-  alohida oynada cmd buyruqlar satrini bajaradi. U C tilining system 	
kutubxonasi  chqirig`iga  analogik  bo`ladi.  Qaytarilgan  qiymat  foydalanadigan 
platformadan tobe bo`ladi.	 	
Times()	- beshta elementdan iborat bo`lgan kortejni qaytaradi. U ish jarayoni vaqtini 	
lahzalarda  ko`rsatadi,  qo`shimcha  protsesslar  vaqtini,  qo`shimcha  protsesslarning 
axborot tizimlari vaqtini, va o`tgan zamonda qotib qolgan vaqtni ko`rsatadi (masalan 
tizim ishga 	tushgan paytdan).	 	
Getloadavg()	- coo, uchta qiymatlik kortejni qaytaradi.	 	
II bob bo’yicha xulosa.	 	
 Bit	iruv malakaviy ishining 2	-bobi 	“Pythonda ma’lumotlar tuzilmasi va tilning 	
standart modullari”	deb atalib bunda 	ro`yxat, kortej, lug`at va to`plam tushunchal	ari 	
va  ularni  qanday  yaratish  mumkinligi  ular  ustida  amallar  bajarish  haqida 
ma’lumotlar  keltirilib  misollar  yordamida  tushuntirilgan.  Shuningdek,  bu  bobda 
modul tushunchasi, Python dasturining jud	a boy kutubxonaga ega ekanligi 	haqidagi 	
ma’lumotlar berilga	n bo`lib, ko`plab modu	llar shu jumladan sys, copy, time, math, 	
cmath,  random,  os  modullari 	ularning  funksiyalari  va 	qo`llanilishi	 haqida  yozilib,	 	
mi	sollar keltirish yordamida tushuntirilgan. 	 	
Ushbu  bobda 	talabalar  o’z  ustlarida  mustaqil  ishlashlari  va 	Python  dasturida 	
ishlash  bo`yicha 	bilim  saviyalarini  oshirish  uchun 	standar	t 	modullardan 	
foydalanishlari taklif etilgan. 	 	
 	
 	
 
 
 
 
 
 
  68	 	
 	
XOTIMA	 	
Mazkur  metodik  qo`llanmada  Python  dasturlash  tilining  yaratilish  tarixi, 	
imkoniyatlari  va  Python  dasturlash  tilini  Win	dows  operatsion  tizimida  o`rnatish 	
haqida	 yozilgan	. Python  dasturida 	ishlaydigan  foydalanuvchilar  uchun	 uning 	
sintaksisi, asosiy operatorlari, fayllar, funksiyalar bilan ishlash sanoq sistemalari va 
satrlar  bilan  ishlash  haqida	 muhim  zaruriy  ma’	lumotlar 	keltirilgan.	 Qo`llanmani 	
o`qigan	 har  bir  qiziquvchi 	Python  dasturini  o	`rnatish  boshqa  odatiy  dasturlarni 	
o`rnatish  kabi  hech  qanday  qiyinchiliksiz  o`rnatilishini,  tilning  sintaksisi  o`zi  kabi 
sod	da va oson ekanligini, o`zgaruvchilarning tipini e’lon qilinm	asligini, shuningdek 	
sonlar bilan ishlaganda nafaqat butun va haqiqiy sonlar ustida balki 	kompleks	 sonlar 	
ustida ham amallar bajarishni ko`rsatilgan misollar yordamida 	o`rgana oladi va uni 	
amaliyotda bajara oladi.	 Satrlar bilan ishlash va ular ustida amall	ar bajarish haqida 	
ham yetarlicha ma’lumotlar keltirilgan.	 	
 	Ushbu	da	 yana	 ro`yxat,  kortej,  lug`at  va  to`plam  tushunchalari  va  ularni 	
qanday  yaratish  mumkinligi  ular  ustida  amallar  bajarish  haqida  ma’lumotlar 
keltirilib  misollar  yordamida  tushu	ntirilgan.  Shu	ningdek, 	modul  tushunchasi, 	
Python  dasturining  jud	a  boy  kutubxonaga  ega  ekanligi 	haqidagi  ma’lumotlar 	
berilgan  bo`lib,  ko`plab  modullar  shu  jumladan  sys,  copy,  time,  math,  cmath, 
random, os modullari ularning funksiyalari va qo`llanilishi haqida yozilib, 	misollar 	
keltirish  yordamida	 amaliyotda  qo`llab  tushuntirilgan.  O`quvchilar 	o’z  ust	ilarida 	
mustaqil ishlashlari va 	Python dasturida ishlash bo`yicha 	bilim saviyalarini oshirish 	
uchun 	standar	t modullardan 	foydalanishlari taklif etilgan. 	Python dasturlash ti	lining 	
afzallik 	tomonlari  tushuntirib  berildi  va  shular  asosida  o’zbek  tilida  uslubiy 	
qo’llanma yaratildi.	 	
 	
 
 	
 
 
 
  69	 	
 	
A	dabiyotlar	 	
1.	 Karimov  I. A.  Barkamol  avlod  orzusi  //Nashr  uchun  mas`ul T.  Risqiyev.	-T.: 	
“Sharq	” nashriyoti	—	matbaa konserni, 1999.	-184 b. 	 	
“Kadrlar  tayyorlash  Milliy  dasturi”	 	//  Barkamol  avlod	- 	O`zbekiston 	
taraqqiyotining poydevori.	-T.: 	“Sharq	” nashriyoti	—	matbaa konserni, 1997. 	–	
3.	 Дмитрий Мусин. Самоучитель 	Python	. 2015 г	 	
4.	 К.Ю. Поляков, В.М. Гуровиц	. Язык Pytho	n в школьном курсе 	
информатики	 – М.: Издательский дом МЭИ, 2011. 	– 424.	 	
5.	 Г.Россум	, Ф	.Л.Дж	.Дрейк	, Д.С.Откидач	. Язык	 программирования	 Python	 	
6.	 К.Ю. Поляков, Е.А. Еремин. Информатика, 10 класс	. 	
7.	 Марк Лутц. 	Программирование	 на Python	. 1995	г. 	
8.	 Девид Бизли. 	Python	 -Санкт	-Петербург: МЭИ, 	2008. 	– Часть 	III	. 	
9.	 Сергей Лебедев	. Модули и пакеты	 	
10.	  Прохоренок Н.А. Python.Самое необходимое. 	– Санкт	-Петербург: 	
БХВ	-Петербург, 2011, 	–416 с.	 	
Internet manbalari manzili	 	 	
11.	 www.python.org	 	
12.	 www.uhlib.ru	 	
13.	 ww.dasturchi.uz

O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA TA’LIM VAZIRLIGI BUXORO DAVLAT UNIVERSITETI Fizika -matematika fakulteti “Axborot texnologiyalari” kafedrasi Toshboyeva Guljahon O`tkir qizi “PYTHON DASTURLASH TILI VA UNING IMKONIYATLARI BO`YICHA USLUBIY QO`LLANMA” “Kasb ta’limi:Informatika va axborot texnologiyalari” ta’lim yo’nalishi bo’yicha bakalavr darajasini olish uchun BITIRUV MALAKAVIY ISHI “Ish ko’rildi va himoyaga ruxsat Ilmiy rahbar_____H.Sh.Rustamov berildi” «___» ______________2017y. Kafedra mudiri Taqrizchi____ ______dots.T.B.Boltayev «___» ______________2017 y. «___» ______________2017 y. «Himoya qilishga ruxsat berildi » Fakutet dekani prof.Sh.M.Mirzayev «___» ______________2017 y. Buxoro -2017

2 MUNDARIJA Kirish ……………………………………………………………………….. 3 I BOB. Python dasturlash tili va uning sintaksisi . 1.1. Python dasturlash tili yaratilish tarixi, imkoniyatlari va uni o`rnatish ….. 6 1.2.Python tili sintaksisi, asosiy operatorlari.. …………………………….... 12 1.3.Funksiya, fayllar bilan ishlash, sanoq sistemasi va son... ……………… 18 1.4.Satrlar bilan ishlash ………………………………… ……….. ………… 28 II BOB. Pythonda ma’lumotlar tuzilmasi va tilning standart modullari 2.1.Ro`yxat va kortej……. ………………………………………………… 33 2.2.Lug`atlar va to`plamlar bilan ishlash.. ………………………………….. 48 2.3. Modul tushunchasi, standart kutubxonalar, sys va copy moduli ……….. 55 2.4.Math, cmath, random va os moduli…………….. ……………………... 60 Xotima ……………………………………………………………………. 62 Adabiyotlar ……………………………………………………………… 63

3 K irish “ Dunyoda ilmdan boshqa najot yo`q va bo`lmagay. ” Imom Al -Buxoriy. O‘zbekistonda ijtimoiy -iqtisodiy sohada, shu jumladan axborot - kommunikatsiya texnologiyalari, zamonaviy axborotlashgan jamiyatni shakllantirish borasida ken g ko‘lamli islohotlar izchillik bilan va aniq maqsadni ko‘zlab amalga oshirilmoqda. Zamonaviy kadrlarni yetishtirish borasida respublikamiz ta‘lim tizimida tub o’zgarishlar amalga oshirilmoqda. Bunga sabab, «Ta‘lim to’g’risida»gi qonun va «Кadrlar tayyorlash milliy dasturi»ning qabul qilinishi va ularda ilmiy -texnika taraqqiyoti yutuqlarini ishlab chiqarish va xizmat ko`rsatish sohasiga tadbiq qilish, ijtimoiy -iqtisodiy rivojlanish bilan uzviy bog’liq еkanl igining aniq ko’rsatilishidir. Hozirgi kun da ta’lim -tarbiya jarayoniga zamonaviy axborot texnologiyalarini joriy etish, ta’limni kompyuterlashtirish muammolarini hal qilish muhim ahamiyat kasb etadi. O’zbekiston Respublikasi mustaqillik odimlarini dadil qo’yayotgan hozirgi davrda axborotlashgan ja miyat qurish masalasi mamlakatimiz uchun naqadar katta ahamiyat kasb etayotgani hech kimga sir emas. Internet hayotimizning bir bo’lagiga aylandi, biz uning xizmatlaridan har kuni foydalanishga odatlandik. Respublikamizda o’qitish texnologiyalarini zamonav iylashtirishni jadllashtirish rivojlangan iqtisodiyotli mamlakatlarga qaraganda yanada dolzarb ahamiyatga ega. Chunki hozirgi kunda milliy ta’lim tizimining salohiyati iqtisodiy rivojlanishning yanada yuqori pog’onasiga ko’tarilishga amaliy imkoniyat ta’mi nlovchi asosiy ijtimoiy resurs sifatida gavdalanadi. Respublikamiz ta’lim tizimidagi asosiy vazifa jahon talablariga mos keluvchi axborot texnologiyalarini o’qitish jarayoniga qo’llashdan iborat. O’zbekistonda ta’lim tizimining axborotlashtirilishi xalqaro hamjamiyatda ham tan olindi. Masofaviy ta’limni rivojlantirish bo’yicha bir qator dasturlar ishlab chiqilmoqda. Iqtisodiyot va jamiyatda islohotlarning o’tkazilishi natijasida o’quv jarayonining zahira hajmini keskin oshirish bo’yicha yangi talablar qo’yi ldi. Hozirgi kunda

4 axborot eng asosiy ishlab chiqaruvchi resurslardan biriga, iqtisodiyot va umuman jamiyatning rivojlanish poydevoriga aylanmoqda. Yangi axborot - kommunikatsion texnologiyalar hozirgi kunda eng dolzarb mavzulardan biri bo’lib kelmoqda, sa babi har bir sohani o’rganish, izlanish va tajriba orrtirish uchun turli usullardan foydalanish kerak bo’ladi. Shuning uchun yangi axborot kommunikatsion texnologiyalardan foydalanish maqsadga muvofiqdir. Respublikamizda olib borilayotgan islohotlarning tarkibida yuqori malakali mutaxasislarning roli benihoya kattadir. Birinchi Prezidentimiz ta’kidlaganidek, ”Ertangi kun yangicha fikrlay oladigan zamonaviy bilimga ega bo’lgan yuksak malakali mutaxasislarni talab etadi”. Shu sababli xalqimizning boy intellektual merosi va umumbashariy qadriyatlari, zamonaviy madaniyat, iqtisodiyot, fan, texnika va texnologiyalar asosida yuksak mutaxasislar tayyorlash tizimi ishlab chiqildi va jadal sur’atlar bilan hayotga tad biq etilmoqda. O’zbekistonda o’qitish texnologiyalarini zamonaviylashtirish, jadallashtirish rivojlangan iqtisodiyotli mamlakatlarga qaraganda yanada dolzarb ahamiyatga ega. Chunki hozirgi kunda milliy ta’lim tizimining salohiyatli tizimli rivojlanishi yan ada yuqori pog’onaga ko’tarildi. Bitiruv malakaviy ish mavzu sining dolzarbligi: mavzuning dolzarbligi shundan iboratki , Python bu umumiy maqsadli dasturlash uchun keng tarzda foydalaniladi gan yuqori darajali dasturlash tili, chunki o'rganish oson va qulay sintaksisga ega. Undan tashqari skriptli dasturlash tillariga kiradi. Python dinamik tipizatsiyaga ega, obyektga yo'naltirilgan dasturlash, funksional dasturlash, strukturali, avtomatik xo tirani boshqarish va albatta ko'p patokli dasturlash tillaridan biri. Python har xil platformalar uchun yozilgan masalan Windows, Linux, Mac OS X, Palm OS, Mac OS va hokazo. Python Microsoft.NET platformasi uchun yozilgan realizatsiyasi ham bor uni nomi IronPython. Bugungi kunda dunyoga mashhur ko`plab kompaniyalar NASA, Google, Yandex, CERN, Apple computer, Dream Works, kosmik teleskop institutlari Pythonni ishlatishadi. Dunyoni ng rivojlangan mamlakatlari AQSH (Koliforniya Universiteti, Florida Universiteti, Lova Universiteti, Massachustva Texnologiya Universiteti ), Kanada (Toronto Universiteti, Alberto Universiteti), Buy uk Britaniya (Oksford Universiteti),

5 Fransiya, Rossiya, Avstraliya, Ispaniyaning universitet va kollejlarida o`qitishda Python dasturlash tili qo`llaniladi. Pythonning o`ziga xos jihatlaridan biri bu dasturni yozish davomida quyi darajadagi detallarni, mi sol uchun xotirani boshqarishni hisobga olishga hojat qolmaydi. Shuningdek dasturni yozish davomida ortiqcha kod yozishdan xalos bo`linadi. Masalan: massiv elementlarini tartiblash misolini Paskal va Python dasturi dagi talqinini taqqoslab solishtirib ko`ra ylik. Shu bilan birga Pythonda dastur yozayotganda begin -end, {} yoki satr tugagani bildirish uchun nuqtali vergul (;) qo`yilmaydi. Tadqiqot ob'yеkti va prеdmеti: Python dasturlash tili. Dasturiy ta’minotlar bilan jihozlangan kompyuter xonalari . Python dasturlash tilida dastur tuzish uchun WingWare , Paycharm, Paydev, Notepad++ va boshqa muhitlari . Dasturlar ni tuzishda va muhitlar bilan ishlashda kompyuter texnologiyalari, shu bilan birgalikda eng zamonaviy usullardan foydalanish. Biz tadqiqot obyekti sifatida Wingware muhitida ishlab dastur natijalarini olishga harakat qildik. Ishning maqsadi va vazifalari: Python dastulash tili h aqida uslubiy qo`llanma yaratish . Python dasturini o`rnatish, uning sintaksisini, opera tor va funksiyalarini o`rganish, arifmetik amallarni bajarishni, sonlar, satrlar bilan ishlashni hamda ulard an foydalanib masalalar yechishni o`rganish. Masalalarr yechimini to`griligini kompyuterga WingWare muhitiga kiritib tekshirib ko`rish. Python tilining imkoniyatlarini ko`rish, uni bugungi kundagi qanday loyihalarni tuzishda ishlatilishini o`rganish . Talabalar mustaqil shug’ullanishlari uchun uslubi y qo’llanma ko’rinishida tayyorlash. Talabalarga kompyuterda mustaqil masala yechish usullarini ko’rsatish va talabalarni dasturlashga bo’lgan qiziqishlarini oshirish. A.sort() For i:= 0 to N-1 do For j:=N -2 downto i do If A[j] > A[j+1] then begin c:=A[j]; A[j]:=A[j+1]; A[j+1]:=c end;