• Savolingiz bormi?
  • +998 97 534 03 20
  • turayev.ruziboy@bk.ru
 3. Python dasturlash tili va sintaksisi

3. Python dasturlash tili va sintaksisi

Python / 2021-12-19

Python dasturi

Python dasturi bir yoki bir nechta modullardan iborat bo'lishi mumkin. Har bir modul 7 bitli ASCII kodlash bilan mos keladigan shifrlangan matnli fayldir. Eng muhim bitdan foydalanadigan kodlashlar uchun kodlashning nomi aniq ko'rsatilishi kerak. Masalan, sharhlar yoki satrlarning harflari kodlangan modul   KOI8 -R, birinchi yoki ikkinchi qatorda quyidagi tavsiflarga ega bo'lishi kerak:

# -*- coding: koi8-r -*-

Ushbu spesifikatsiya tufayli Python interperatarori Unicode harflarni Unicode-ga qanday qilib to'g'ri tarjima qilishni biladi. Ushbu chiziqsiz Python-ning yangi versiyalari har bir modul uchun sakkizinchi bit to'plamiga ega kodlar bilan ogohlantiradi.

Qanday qilib dasturni modulli qilish quyidagi bobda ma'lum bo'ladi. Quyidagi misollar faylga yozilgan modullarning ikkala parchasini va Python interperatarori bilan dialog oynasining qismlaridan foydalanadi. Ikkinchisi o'ziga xos taklifnoma bilan ajralib turadi >>> va funt belgisi ( # ) satr oxiriga sharh qoldiradi.   

Python-dagi dastur, interperataror nuqtai nazaridan, mantiqiy chiziqlardan iborat. Bitta mantiqiy chiziq, qoida tariqasida, bitta fizik chiziqda joylashgan, ammo uzoq mantiqiy chiziqlar aniq (orqaga burilish chizig'idan foydalangan holda) yoki aniq ravishda (ichki qavs ichida) bir nechta fizik chiziqlarga bo'linishi mumkin: 

a=5

print (a, "-bu juda mos bo'lmagan juda uzun chiziq", 80, "tanishish")

Izoh :

Barcha misollar asosan Python hujjatiga muvofiq Python kod dizaynining "rasmiy" uslubidan foydalanadi Uslublar bo'yicha qo'llanma "ni http://python.org saytida topish mumkin 

Asosiy algoritmik konstruktsiyalar

O'quvchilar allaqachon hech bo'lmaganda maktab o'quv dasturi darajasida dasturlash imkoniyatiga ega deb taxmin qilinadi va shuning uchun algoritmik konstruktsiyalar va Python sintaksisi o'rtasida o'xshashliklar qilish kifoya qiladi. Bundan tashqari, Python, qoida tariqasida, dasturchining sezgilariga yo'l qo'ymaydi (hech bo'lmaganda, fan boshlang'ich Python dasturchilarining odatiy xatolarini yaxshi biladi), shuning uchun Python sintaksisini sintaksis diagrammalaridan yoki misollar yordamida o'rganish afzalroq. 

Pythonni IDE Shell dan foydalanib an'anaga ko'ra barcha dasturchilar birinchi yozadigan dastur, "Hello World!" dasturini yozamiz.

Buning uchun Shell IDE yuqorisidagi menuda File --> New File bo'limini tanlaymiz (yoki klaviaturada Ctrl+N tugmalarini bosamiz). Math muhrarrirda yangi nom bilan fayli yaratiladi.

Faylni nomlashda quyidagi qoidalarga amal qiling:

  • Fayl nomi qisqa, kichkina lotin harflari bilan va eng muhimi bo'shliq (пробел) qo'ymasdan yozilgan bo'lishi kerak.
  • Fayl nomi .py bilan tugashi kerak (misol uchun py).
  • Faylga ikki so'zdan iborat nom qo'ymoqchi bo'lsangiz so'zlar orasini tire (-) yoki pastki chiziq (_) bilan ajrating. Misol uchun: hello-world.py yoki py.
  • Fayl nomini sonlar bilan boshlamang.

Faylni nomlaymiz

Matn muharririda quyidagi kodni yozamiz:

print() bu Pythondagi mahsus funktsiya bo'lib, () ichida berilgan matn yoki ifodalarni ekranga (konsolga) chiqarish vazifasini bajaradi.

Kodimizni bajarish uchun Run () tugmasini (yoki F5) bosamiz (yangi ochilgan oynada ham Run tugmasini bosamiz) va konsolda natijani ko'ramiz:

Birinchi dasturimiz va uning natijasi.

print() funktsiyasi, Python sintaksi va arifmetik amallar

Quyidagi kodlarni ko’rib chiqamiz.

  1. print(“Salom dasturchi!”)

Natija:

Dastur natijasi kutilganidek Salom dasturchi! matnini konsolda aks ettirdi.

  1. print(Assalomu alaykum)

Natija:

Dastur natijasi Assalomu alaykum yozuvi o'rniga, Syntax Error (sintaksisda xatolik) xabari chiqdi. Xatolik qayerda?

Avval aytganimizdek, print() funktsiyasi matn yoki ifodalarni konsolga chiqarish vazifasini bajaradi. Lekin bu funktsiya to'g'ri ishlashi uchun bir nechta qoidalarga amal qilish lozim. Jumladan, agar konsolga matn chiqarmoqchi bo'lsak, matnimiz albatta qo'shtirnoq yoki (" ") yoki birtirnoq(' ') orasida yozlishi kerak. Demak Assalomu alaykum so'zini konsolda chiqarish uchun to'g'ri kod: print(“Assalomu alaykum”) yozish lozim.

  1. print(‘Men 1 sonli maktabni 9 sinf o’quvchisiman’)

Dastur natijasi Men 1 sonli maktabni 9 sinf o’quvchisiman yozuvi o'rniga, Syntax Error (sintaksisda xatolik) xabari chiqdi. Xatolik qayerda?

Xatolikni oldini olish uchun (‘) o’rniga (“) dan foydalanish lozim yoki matndagi (‘) belgisidan oldin (\) belgisini qo’yish lozim (o\’quvchisiman). o’zgartirishimiz kerak. Umuman olganda \ belgisi har qanday mahsus belgi oldidan qo'yiladi.

Natija:

  1. Agar matnni bir necha qatorga bo'lib yozish talab qilinsa, uchtalik birtirnoq (appostrof) dan (''' ''')foydalanish mumkin:

print(’’’Men 1 sonli maktabni

9 sinf o’quvchisiman’’’)

Dastur natijasi:

      

Qatorga bo'lishning yana bir usuli, qator so'nggida \n belgisini qo'yish.

 

print(‘Men 1 sonli maktabni \n 9 sinf o’quvchisiman’)

 

SINTAKSIS XATOLIK (SYNTAX ERROR)

 Har bir tilda orfografik va grammatik qoidalar bo'lgani kabi, dasturlash tillarining ham o'ziga yarasha qonun-qoidalari bor. Bu qoidalar to'plami sintaksis (syntax) deb ataladi. Sintaksis xatolik (Syntax Error) deb esa shu qoidalarning buzilishiga aytiladi.

Misol uchun keraksiz joyda qo'yilgan nuqta, vergul yoki bo'sh joy, shuningdek ma'lum funktsiyalar nomini xato yozish (print() o'rniga prit()), ochilmay yoki yopilmay qolgan qavs, noo'rin bo'shliq, qolib ketgan kalit so'z (keyword) kabilar ham Syntax Error hisoblanadi.

Syntax Error eng ko'p uchraydigan xatolik bo'lib, Python bunday xatolik bor dasturlarni bajarmaydi.

ARIFMETIK AMALLAR

Pythonda print() funktsiyasi nafaqat matn, balki turli ifodalarni ham konsolga chiqaradi.

Keling quyidagi kodlarni ham bajaramiz:

Natija: -7

Python arifmetik amallarni bajarishda Matematika qoidalariga amal qiladi:

  • Qavs ichidagi amallar qavs ortidagilardan avval bajariladi
  • Darajaga oshirish (ildiz chiqarish) ko'paytirish va bo'lishdan avval bajariladi
  • Ko'paytirish va bo'lish, qo'shish va ayirishdan avval bajariladi
  • Boshqa holatlarda ifodalar chapdan o'ngga qarab bajariladi

Natija: 5.75

Ko'rib turganingizdek, / belgisi bo'lish amalini bajaradi va natija har doim o'nlik son ko'rinishida bo'ladi (agarchi bo'lish amali natijasida butun son xosil bo'lsa ham):

Natija: 5.0

Bo'lish amalidan butun son ko'rinishidagi natija olish uchun // belgisidan foydalanamiz:

Natija: 5

Natija: 16

 

Yuqoridagi ** belgisi darajaga oshirishni anglatadi, ya'ni 2**4 ifodasi 2 ning 4-darajasini beradi.

Pythonda oddiy arifmetik amallar quyidagi jadvalda berilgan.

Operator

Tavsif

Misol

+

Qo'shish

5+6=11

-

Ayirish

5-6=-1

*

Ko'paytirish

5*6=30

/

Bo'lish

5/6=0.833333

//

Bo'lish va butun qismini olish

5//6=0

**

Exponenta (daraja/ildiz)

5**6=15625

%

Bo'linmaning qoldig'ini olish

15%6=3

print() yordamida matn va ifodalarni jamlab chiqarish ham mumkin. Buning uchun har bir ifoda va matn vergul (,) bilan ajratiladi:

Natija: 2 ning 4 darajasi 16 ga teng

 

IZOHLAR (COMMENTS)

Yaxshi dasturchilarning odatlaridan biri har qanday kodni izohlar bilan tushuntirib ketish. Izohlar kelajakda o'zimiz uchun ham, boshqalar uchun ham dasturimiz qanday ishlashini tushunishda yordam beradi.

# belgisidan keyin yozilgan matn izoh (comment) deyiladi.

Izoh alohida qatorda yoki qator oxiridan ham yozilishi mumkin. Python # dan keyingi har qanday matnni (qator oxirigacha) e'tiborsiz qoldiradi. # dan keyin yozligan kodlar bajarilmaydi:

Natija: Salom Dasturchi

 


4 izoh

Izoh qoldirish