3-bo‘lim
Sintaksis asoslari
Python kodining yozilish qoidalari: bo'sh joy (indentatsiya), izohlar, satrlarni bo'lish, print() va input() funksiyalari.
Ushbu bo‘lim mundarijasi
Har bir tilning o'z grammatikasi bor. Python grammatikasi juda qisqa, lekin bitta qat'iy qoidaga ega bo'lib, u boshqa tillarda uchramaydi: bo'sh joy ahamiyatli.
Indentatsiya - Python'ning asosiy qoidasi #
Ko'pchilik tillarda kod bloklari { va } qavslar bilan ajratiladi. Python'da esa chekinish (indentatsiya) shu vazifani bajaradi.
yosh = 20
if yosh >= 18:
print("Siz voyaga yetgansiz") # bu satr if ichida
print("Ovoz berishingiz mumkin") # bu ham if ichida
print("Dastur tugadi") # bu esa if dan tashqarida
Siz voyaga yetgansiz
Ovoz berishingiz mumkin
Dastur tugadi
Diqqat qiling: birinchi ikkita print 4 ta bo'shliq bilan surilgan, uchinchisi esa yo'q. Aynan shu surish Python'ga qaysi kod shart ichida ekanini aytadi.
if yosh >= 18:
print("Salom")
IndentationError: expected an indented block after 'if' statement on line 1
Ikki nuqtadan (:) keyingi satr majburiy ravishda surilgan bo'lishi kerak.
Indentatsiya qoidalari #
| Qoida | Izoh |
|---|---|
| 4 ta bo'shliq | Rasmiy tavsiya (PEP 8) |
| Bir xil bo'lsin | Bitta blokda 4, boshqasida 2 bo'lmasin |
| Tab aralashmasin | Tab va bo'shliqni aralashtirish - TabError |
: dan keyin | Har doim yangi blok boshlanadi |
Izohlar #
Izoh - bu Python e'tiborsiz qoldiradigan matn. U kod nima uchun yozilganini tushuntirish uchun kerak.
# Bu bir satrlik izoh
narx = 15000 # Izohni satr oxiriga ham qo'yish mumkin
"""
Bu ko'p satrli izoh.
Odatda funksiya yoki fayl nima qilishini tushuntirish uchun ishlatiladi.
"""
def soliqni_hisobla(summa):
"""Berilgan summadan 12% QQS ni hisoblab qaytaradi."""
return summa * 0.12
Yomon izoh nima qilinayotganini takrorlaydi, yaxshi izoh nima uchun qilinayotganini tushuntiradi.
# Yomon: narxni 1.12 ga ko'paytiramiz
yakuniy_narx = narx * 1.12
# Yaxshi: 12% QQS qo'shamiz (2026-yil tarifi)
yakuniy_narx = narx * 1.12
print() - ekranga chiqarish #
print() - eng ko'p ishlatadigan funksiyangiz.
print("Salom") # oddiy matn
print("Salom", "dunyo") # bir nechta qiymat, orasida bo'shliq
print("Yosh:", 25) # matn va son birga
print() # bo'sh satr
Salom
Salom dunyo
Yosh: 25
sep va end parametrlari #
# sep - qiymatlar orasidagi ajratuvchi
print("2026", "01", "15", sep="-")
# end - satr oxiriga qo'shiladigan belgi (sukut bo'yicha "\n")
print("Yuklanmoqda", end="")
print("...", end="")
print(" tayyor!")
2026-01-15
Yuklanmoqda... tayyor!
Maxsus belgilar #
| Belgi | Ma'nosi | Misol |
|---|---|---|
\n | Yangi satr | print("A\nB") |
\t | Tabulyatsiya | print("A\tB") |
\ | Teskari chiziq | print("C:\papka") |
\" | Qo'shtirnoq | print("U \"salom\" dedi") |
print("Ism:\tHusanboy")
print("Yosh:\t25")
print("Manzil:\tC:\\Users\\Husanboy")
Ism: Husanboy
Yosh: 25
Manzil: C:\Users\Husanboy
input() - foydalanuvchidan ma'lumot olish #
ism = input("Ismingizni kiriting: ")
print("Salom, " + ism + "!")
Ismingizni kiriting: Sardor
Salom, Sardor!
Bu eng ko'p adashtiradigan joylardan biri:
yosh = input("Yoshingiz: ")
print(yosh + 5) # XATO!
TypeError: can only concatenate str (not "int") to str
Sonni olish uchun turni o'zgartirish kerak:
yosh = int(input("Yoshingiz: "))
print("Kelasi yili:", yosh + 1)
Satrlarni bo'lish va birlashtirish #
Uzun satrni bir nechta qatorga bo'lish mumkin:
# Teskari chiziq bilan
umumiy_summa = 15000 + 24000 + \
31000 + 12000
# Qavslar bilan (tavsiya etiladi)
umumiy_summa = (15000 + 24000 +
31000 + 12000)
# Ro'yxat, lug'at va funksiya qavslari ichida avtomatik ishlaydi
shaharlar = [
"Toshkent",
"Samarqand",
"Buxoro",
]
Bitta satrda bir nechta buyruq yozish ham mumkin, lekin bu tavsiya etilmaydi:
a = 1; b = 2; print(a + b) # ishlaydi, lekin o'qish qiyin
Nomlar berish qoidalari #
O'zgaruvchi, funksiya va klass nomlariga qat'iy qoidalar bor:
| Qoida | To'g'ri | Noto'g'ri |
|---|---|---|
Harf yoki _ bilan boshlanadi | ism, _vaqt | 2yosh |
| Bo'shliqsiz | talaba_nomi | talaba nomi |
| Registrga sezgir | Ism ≠ ism | - |
| Kalit so'z bo'lmasin | sinf_nomi | class |
Python'ning 35 ta kalit so'zi bor va ular nom sifatida ishlatilmaydi:
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
| Nima | Uslub | Misol |
|---|---|---|
| O'zgaruvchi va funksiya | snake_case | talaba_yoshi, bahoni_hisobla() |
| Klass | PascalCase | TalabaMalumoti |
| O'zgarmas (konstanta) | UPPER_CASE | MAX_TALABA = 30 |
Biz butun darslik davomida o'zbekcha nomlar ishlatamiz: narx, jami_summa, foizni_hisobla(). Bu kodning mantiqini tezroq tushunishga yordam beradi.
To'liq misol #
# ============================================
# Oddiy tanishuv dasturi
# ============================================
print("=" * 40)
print("TANISHUV DASTURI")
print("=" * 40)
ism = input("Ismingiz: ")
yosh = int(input("Yoshingiz: "))
shahar = input("Shahringiz: ")
print()
print("Ma'lumotlaringiz:")
print("\tIsm:\t", ism)
print("\tYosh:\t", yosh)
print("\tShahar:\t", shahar)
tugilgan_yil = 2026 - yosh
print("\nSiz taxminan", tugilgan_yil, "yilda tug'ilgansiz.")
========================================
TANISHUV DASTURI
========================================
Ismingiz: Husanboy
Yoshingiz: 25
Shahringiz: Namangan
Ma'lumotlaringiz:
Ism: Husanboy
Yosh: 25
Shahar: Namangan
Siz taxminan 2004 yilda tug'ilgansiz.
kalkulyator.py faylini yarating:
- Foydalanuvchidan ikkita son so'rang (
int(input(...))orqali). - Ularning yig'indisi, ayirmasi, ko'paytmasi va bo'linmasini chiqaring.
- Natijalarni
\tbilan chiroyli tekislang. - Har bir bo'lim ustiga izoh yozing.
Xulosa #
- Python'da indentatsiya - sintaksisning bir qismi, 4 ta bo'shliq standart.
- Izohlar
#bilan, ko'p satrli izohlar"""..."""bilan yoziladi. print()dasepvaendparametrlari chiqishni boshqaradi.input()har doim matn qaytaradi - son kerak bo'lsaint()yokifloat()ishlating.- Nomlar harf yoki
_bilan boshlanadi, kalit so'z bo'lolmaydi.
Keyingi bo'limda o'zgaruvchilar va ma'lumot turlarini chuqurroq o'rganamiz.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
Xatolik topdingizmi?
Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.