Keyingi qadamlar

Tabriklaymiz! Siz kompyuter qanday ishlashidan boshlab, menyuli interaktiv dastur yozishgacha bo'lgan yo'lni bosib o'tdingiz. Bu — katta yutuq. Endi qayerga borish mumkinligini ko'rib chiqamiz.

Bu darsda

  • Nimalarni o'rgandingiz — qisqa sarhisob
  • Python'da keyingi o'rganiladigan mavzular
  • Python bilan qaysi sohalarga borish mumkin
  • Mashq qilish va o'rganish uchun manbalar
  • Mustaqil o'rganish bo'yicha maslahatlar va yakuniy test

Siz endi nimalarni bilasiz

Bu — har qanday dasturchining poydevori. Boshqa barcha narsalar shu asoslar ustiga quriladi.

Python'da keyingi mavzular

Asoslardan keyin quyidagi mavzularni taxminan shu tartibda o'rganish tavsiya etiladi:

MavzuNima beradi
Fayllar bilan ishlashMa'lumotlarni faylga yozish va o'qish (open, with, json, csv). Dasturingiz yopilgandan keyin ham ma'lumot saqlanadi.
Obyektga yo'naltirilgan dasturlash (OOP)O'z ma'lumot turlaringizni — sinflarni yaratish. Katta dasturlarni tartibli tashkil qilish usuli.
Git va GitHubKod versiyalarini saqlash, xatolarni orqaga qaytarish, boshqalar bilan birga ishlash. Har bir dasturchi uchun majburiy ko'nikma.
Virtual muhit va pipHar bir loyiha uchun alohida kutubxonalar to'plami (venv).
Testlar yozishKodingiz to'g'ri ishlashini avtomatik tekshiradigan kod (pytest).

OOP bilan qisqa tanishuv — bu qanday ko'rinishini his qilish uchun. Hozircha tushunish shart emas, shunchaki ishga tushirib ko'ring:

class Talaba:
    def __init__(self, ism, ball):
        self.ism = ism
        self.ball = ball

    def baho(self):
        if self.ball >= 86:
            return 5
        if self.ball >= 71:
            return 4
        if self.ball >= 56:
            return 3
        return 2


guruh = [Talaba("Aziz", 92), Talaba("Dilnoza", 78), Talaba("Sardor", 64)]
for t in guruh:
    print(f"{t.ism}: {t.ball} ball, baho {t.baho()}")

Bu yerda biz Talaba degan yangi tur yaratdik: har bir talabaning o'z ismi va bali bor va u o'z bahosini hisoblay oladi. Ma'lumot va u bilan ishlaydigan funksiyalar bir joyda — OOP'ning asosiy g'oyasi shu.

Python bilan qaysi sohaga borish mumkin

Yo'nalishNima qilinadiAsosiy vositalar
Telegram botlarBuyurtma qabul qiluvchi, test o'tkazuvchi, ma'lumot beruvchi botlar. O'zbekistonda juda talab yuqori.aiogram
Veb-dasturlash (backend)Saytlar va mobil ilovalarning server qismi: ro'yxatdan o'tish, to'lovlar, ma'lumotlar bazasi.Django, FastAPI, Flask, SQL
Ma'lumotlar tahliliJadvallarni tahlil qilish, hisobotlar va grafiklar tayyorlash.pandas, matplotlib, Jupyter
Sun'iy intellekt va mashinali o'qitishBashorat qiluvchi modellar, tasvir va matnni taniydigan tizimlar.scikit-learn, PyTorch; kuchli matematika
AvtomatlashtirishZerikarli ishlarni dasturga topshirish: fayllarni saralash, Excel hisobotlari, saytlardan ma'lumot yig'ish.openpyxl, requests
O'yinlarOddiy 2D o'yinlar — o'rganish uchun juda qiziqarli.pygame

Yo'nalishni qiziqishingizga qarab tanlang. Bilmasangiz — Telegram botdan boshlang: natija tez ko'rinadi, do'stlaringizga ko'rsatish mumkin va unda darslikdagi deyarli barcha mavzular (funksiyalar, lug'atlar, shartlar) ishlatiladi.

Mashq qilish uchun saytlar

Dasturlash — sport kabi: faqat o'qish bilan o'rganib bo'lmaydi, har kuni «mashq» kerak. Quyidagi saytlarda minglab masalalar bor:

O'rganishni davom ettirish uchun manbalar

Bu manbalarning ko'pchiligi ingliz tilida. Ingliz tili — dasturchining eng muhim «ikkinchi dasturlash tili». Hujjatlar, xato xabarlari, savol-javob saytlari asosan inglizcha. Uni dasturlash bilan parallel o'rganishni boshlang — har kuni 15–20 daqiqa ham katta natija beradi. O'zbek tilida ham ko'plab video darslar va Telegram hamjamiyatlari bor — ularni qidirib toping.

Mustaqil o'rganish bo'yicha maslahatlar

  1. Har kuni oz-ozdan. Haftada bir marta 5 soatdan ko'ra, har kuni 40 daqiqa ancha samaraliroq.
  2. Kodni qo'lda yozing. Nusxa olib qo'yish emas — o'zingiz terib chiqing. Barmoqlar ham o'rganadi.
  3. O'z loyihangizni boshlang. O'zingizga yoki yaqinlaringizga kerakli kichik narsa: uy vazifalari ro'yxati, oilaviy byudjet, sinf uchun test boti. Haqiqiy muammo eng yaxshi o'qituvchi.
  4. «O'qish qopqoni»ga tushmang. Cheksiz video ko'rish va kitob o'qish — o'rganishdek tuyuladi, lekin kod yozmasangiz, ko'nikma shakllanmaydi.
  5. Qiyinchilik — normal holat. Agar hammasi oson bo'lsa, siz yangi narsa o'rganmayapsiz. Tushunmaslik — o'sishning belgisi.
  6. Savol berishni o'rganing. Yordam so'raganda: nima qilmoqchi edingiz, nima qildingiz, qanday xato chiqdi — kod va xato xabari bilan birga yozing.
  7. Boshqalarga o'rgating. Do'stingizga funksiya nima ekanini tushuntirib bering. Tushuntira olsangiz — demak, o'zingiz tushungansiz.
  8. Ishlaringizni GitHub'ga joylang. Bu sizning portfoliongiz — ish beruvchilar diplomdan ko'ra ko'proq aynan shunga qarashadi.

Namunaviy reja

DavrMaqsad
1-oyAsoslarni mustahkamlash: 50 ta mashq yechish, fayllar bilan ishlashni o'rganish, bu darslikdagi loyihalarni kengaytirish.
2-oyOOP, Git va GitHub. 2–3 ta kichik loyihani GitHub'ga joylash.
3-oyYo'nalish tanlash (bot, veb yoki ma'lumotlar tahlili) va uning asosiy kutubxonasini o'rganish.
4–6-oylarBitta jiddiy loyiha: haqiqiy foydalanuvchilari bor bot yoki sayt. Uni boshidan oxirigacha o'zingiz yozing.

Yakuniy test

Butun darslik bo'yicha savollar. Qiynalsangiz — tegishli darsga qaytib, takrorlab chiqing.

Quyidagi kod nima chiqaradi?

x = "3"
y = 4
print(int(x) * y)
  1. 3333
  2. 34
  3. 12
  4. Xato beradi

To'g'ri. int("3") — 3, keyin 3 × 4 = 12. int() bo'lmaganda 3333 chiqardi (4- va 6-darslar).

"dasturlash"[2:5] nimaga teng?

  1. "ast"
  2. "stu"
  3. "stur"
  4. "astu"

To'g'ri. d(0) a(1) s(2) t(3) u(4) r(5): 2, 3, 4-indekslar — «stu» (6-dars).

Quyidagi kod nechta qator chiqaradi?

for i in range(2, 10, 3):
    print(i)
  1. 8
  2. 2
  3. 4
  4. 3

To'g'ri: 2, 5, 8. Keyingisi 11 bo'lardi, lekin u 10 dan katta (11-dars).

d = {"a": 1} bo'lsa, d.get("b", 0) + 1 nimaga teng?

  1. 1
  2. 2
  3. None
  4. Xato beradi

To'g'ri. «b» kaliti yo'q, shuning uchun get standart qiymat 0 ni qaytaradi: 0 + 1 = 1 (14-dars).

Quyidagi funksiya chaqirilgandan keyin natija nimaga teng?

def f(x):
    if x > 0:
        return "musbat"
    print("manfiy yoki nol")

natija = f(-3)
  1. "musbat"
  2. "manfiy yoki nol"
  3. None
  4. -3

To'g'ri. Shart bajarilmadi, funksiya matnni faqat chiqardi, lekin hech narsa qaytarmadi (15-dars).

Ro'yxatdan takrorlanuvchi qiymatlarni olib tashlashning eng oson usuli qaysi?

  1. royxat.sort()
  2. set(royxat)
  3. royxat.clear()
  4. len(royxat)

To'g'ri. To'plamda takrorlar saqlanmaydi (13-dars).

Foydalanuvchi son o'rniga harf yozganda dastur to'xtab qolmasligi uchun nima ishlatiladi?

  1. if / else
  2. while True
  3. import
  4. try / except ValueError

To'g'ri. int() yaroqsiz matndan ValueError beradi, uni except ushlaydi (17-dars).

Har qanday algoritmni qurish mumkin bo'lgan uchta asosiy «g'isht» qaysilar?

  1. Ketma-ketlik, shart, takrorlash
  2. O'zgaruvchi, funksiya, modul
  3. Ro'yxat, lug'at, to'plam
  4. print, input, if

To'g'ri! Siz endi ularning hammasini Python'da yoza olasiz («Dastur va algoritm» darsi).

So'nggi so'z

Dasturlash — bu bir martalik imtihon emas, butun umr davom etadigan o'rganish. Eng tajribali dasturchilar ham har kuni yangi narsa o'rganadi va har kuni xato qiladi. Muhimi — to'xtamaslik.

Al-Xorazmiy 1200 yil oldin algoritmlar haqida yozganida, uning asarlari bir kun kelib butun dunyo texnologiyasining asosiga aylanishini tasavvur ham qilmagan bo'lsa kerak. Sizning birinchi kichik dasturlaringiz ham kimdir uchun katta narsaning boshlanishi bo'lishi mumkin.

Omad yor bo'lsin!