Мазмунга өтүү

Python'дон каталарды табуу жана оңдоо

Программалоо Python Татаалдыгы 1/5

Сабактын башталышы

Python'дон каталарды табуу жана оңдоо

Ката билдирүүлөрүн окуп, башталгычтардын кеңири каталарын кантип оңдоо

Негизги идея: Ар бир программист ката кетирет — тажрыйбалуулары да! Кодуңда ката болгондо, Python ачууланбайт. Анын ордуна ал пайдалуу билдирүү — ката чыгарат, ал көйгөй кайда экенин жана эмне туура эмес болгонун айтат. Бул билдирүүнү окуй билүү — чыныгы суперкүч.
Сабактын аягында сен:
  • кызыл ката билдирүүсүн көргөндө сабырдуу боло аласың,
  • сап номерин жана ката түрүн табуу үчүн Python трейсбегин окуй аласың,
  • NameError, TypeError жана SyntaxError сыяктуу кеңири каталарды тааныйсың,
  • программанын ичине карап, багды табуу үчүн print() колдоносуң.

1. Баг — бул апаат эмес

Коддогу ката баг деп аталат. Багдарды табуу жана оңдоо отладка (debugging) деп аталат. Багдар — толугу менен кадимки нерсе, алар программалоонун бөлүгү, өчүрүп кайра жазуу сүрөт тартуунун бөлүгү болгондой.

Салыштыруу: Python'ду сенин рецептиңди үн чыгарып окуган абдан кунт коюучу дос деп элестет. Эгер кадам түшүнүксүз болсо, дос токтоп, так сапты көрсөтөт: «Мына бул жерди — мен түшүнбөй жатам». Python да ката билдирүүсү менен ошону кылат. Ал сени жемелебей, жардам берип жатат.

Кызыл тексттен коркпо. Аны жай оку. Ал көбүнчө эмнени оңдоо керектигин дээрлик так айтат.

2. Трейсбекти кантип окуш керек

Python андан ары уланта албаган көйгөйгө туш болгондо, ал токтоп, трейсбек чыгарат. Ката жазуусу бар бул кичинекей программаны кара:

message = "Hello"
print(mesage)

Аны иштеткениңде, Python муну чыгарат:

Traceback (most recent call last):
  File "main.py", line 2, in <module>
    print(mesage)
NameError: name 'mesage' is not defined

Дүрбөлөңгө түшпө — аны төмөндөн жогору оку. Эң пайдалуу бөлүктөрү:

  • Акыркы сап катанын түрүн жана кыска билдирүүнү айтат. Бул жерде NameError: name 'mesage' is not defined.
  • line 2 кайдан издөө керектигин так айтат. Баг 2-сапта.

Эми оңдоо оңой: биз mesage деп жаздык, бирок кутуча message деп аталат. Жазылышын оңдо:

message = "Hello"
print(message)

Күтүлгөн жыйынтык:

Hello
Traceback (most recent call last): File "main.py", line 2, in <module> print(mesage) NameError: name 'mesage' is not defined КАЙДА: сап номери ЭМНЕ: ката түрү + билдирүү
Трейсбекти оку: сап номери КАЙДА экенин, акыркы сап ЭМНЕ туура эмес болгонун айтат.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө