Barcha kurslar Yo'nalishlar Reyting Kirish Ro'yxatdan o'tish

Bu bo'lim ikkita "yo'l-yo'lakay, lekin hayotiy" mavzuga bag'ishlandi: xatolarni o'qiy olish va GitHub bilan birinchi tanishuv. Ikkalasi ham har kungi ishning ajralmas qismi bo'ladi.

Xato — dushman emas, ma'lumot

Har qanday darajadagi dasturchi har kuni xato ko'radi; farq — uni necha soniyada tushunishda. Python xato yuz berganda traceback (xato izi) chiqaradi. Uni o'qishning bitta qoidasi bor: eng pastki qatordan boshlang — xatoning turi va sababi aynan shu yerda; yuqoridagi qatorlar esa xato qaysi yo'l bilan kelganini ko'rsatadi.

narx = 15000
print(narxi)

Natija:

Traceback (most recent call last):
  File "main.py", line 2, in <module>
    print(narxi)
NameError: name 'narxi' is not defined. Did you mean: 'narx'?

Pastki qator to'liq javob beryapti: NameError — "narxi" degan nom yo'q; "Did you mean: 'narx'?" — Python yechimni ham taklif qilyapti. O'rtadagi qator xato qaysi faylning nechanchi qatorida ekanini aytadi.

Eng ko'p uchraydigan xatolar lug'ati

Xato Ma'nosi Tipik sabab
SyntaxError Yozuv qoidasi buzilgan Yopilmagan qavs/qo'shtirnoq, unutilgan :
IndentationError Surilish noto'g'ri if/for ichidagi kod surilmagan yoki ortiqcha surilgan
NameError Bunday nom yo'q Nomdagi harf xatosi, e'lon qilinmagan o'zgaruvchi
TypeError Turlar mos emas "matn" + 5, funksiyaga noto'g'ri tur berish
ValueError Tur to'g'ri, qiymat yaroqsiz int("salom")
IndexError Bunday indeks yo'q 3 elementli ro'yxatda [3]
KeyError Bunday kalit yo'q Lug'atda mavjud bo'lmagan kalit

Ikki misol:

print("salom" + 5)

Natija:

TypeError: can only concatenate str (not "int") to str
mevalar = ["olma", "nok"]
print(mevalar[5])

Natija:

IndexError: list index out of range

SyntaxError alohida turadi: u dastur boshlanishidan oldin chiqadi — Python kodni o'qiy olmagan. Qolgan xatolar dastur ishlab turganda, aynan o'sha qatorga yetganda chiqadi.

Xatoni topish yondashuvi

  1. Xabarni pastdan o'qing: turi nima, qaysi qator?
  2. O'sha qatorga boring; muammo ko'rinmasa, undagi o'zgaruvchilarni print bilan chiqarib ko'ring — qiymatlar kutganingizdek ekanini tekshiring.
  3. Kodni tavakkal o'zgartirmang — har o'zgarishdan oldin taxminingiz bo'lsin ("menimcha, sabab shu"). Taxmin-tekshirish sikli — debugging'ning o'zi shu.

Tipik xato — xabarni o'qimasdan "nimadir ishlamayapti" deb boshdan yozishga kirishish. Xabar deyarli har doim javobning yarmini aytib turadi.

GitHub bilan tanishuv

Git — kod tarixini yurituvchi tizim. Har saqlangan holat — commit — qisqa izoh bilan yozib boriladi; istalgan payt istalgan holatga qaytish mumkin. "final_versiya_2_yangi_ENG_OXIRGISI.py" fayllari davri Git bilan tugaydi.

GitHub — shu tarixni internetda saqlaydigan va bo'lishadigan xizmat. Asosiy tushunchalar:

  • Repozitoriy (repo) — bitta loyihaning butun papkasi va tarixi;
  • Commit — "shu holatni saqla" yozuvi, izohi bilan (masalan: "son topish o'yiniga limit qo'shildi");
  • README.md — loyihaning bosh sahifasi: nima bu, qanday ishga tushiriladi.

Nega bu birinchi oydanoq kerak:

  1. Zaxira. Kompyuter buzilsa ham kod GitHub'da turadi.
  2. Tarix. Nimani qachon o'zgartirganingiz ko'rinib boradi; buzilgan joyni eski holat bilan solishtirish mumkin.
  3. Portfolio. Ish beruvchi rezyumedan oldin GitHub profilingizga qaraydi: muntazam commit'lar — muntazam o'sishning isboti.

Git buyruqlari (clone, push, pull, branch) alohida kursda — GitHub kursida — chuqur o'tiladi. Bu darsning maqsadi — akkaunt ochish, birinchi repozitoriyni yaratish va kod yuklab ko'rish.

Eslab qoling

  • Traceback pastdan o'qiladi: oxirgi qator — xato turi va sababi.
  • Har xato turining o'z "tarjimasi" bor; jadvalni yodda tuting.
  • Debugging = taxmin qilish → print bilan tekshirish → tuzatish.
  • Git — kod tarixi; GitHub — uning internetdagi uyi va sizning portfoliongiz.
  • Xato chiqishi normal; uni o'qimaslik — yagona haqiqiy xato.

Amaliyot

  1. Uchta xatoni ataylab hosil qiling — yopilmagan qo'shtirnoq, e'lon qilinmagan o'zgaruvchi, "7" + 7 — va har xabarning qaysi qismi muammoni aytayotganini yozib chiqing.
  2. int("o'n") bajarib, chiqqan xatoni jadvaldagi qaysi tur ekanini aniqlang va nega TypeError emasligini tushuntiring.
  3. Quyidagi "buzilgan" kodni tuzating (unda 3 ta xato bor):
ism = "Ali
yosh = 20
if yosh > 18
print(Ism, "kattalar guruhida")
  1. github.com'da akkaunt oching va python-mashqlar repozitoriysini yarating (README bilan).
  2. Shu bo'limgacha yozgan bitta mashqingizni repozitoriyga yuklang; commit izohini ma'noli yozing.

Keyingi qadam — bo'lim testi.

Lirik chekinish — konspekt

Lirik chekinish Maqola

Xatolarni o'qish madaniyati va GitHub bilan birinchi tanishuv — bir sahifada.

Eslatma yozish uchun saytga kiring.

Resurslar hozircha qo'shilmagan

O'qituvchi dars uchun qo'shimcha materiallarni qo'shganida shu yerda paydo bo'ladi.

Savol berish uchun saytga kiring.

Hozircha savollar yo'q

Bu dars yuzasidan birinchi savolni siz bering.