Pythoni programmeerimine - algajate kursus

Pythoni vigu leidmise oskuste omandamine PDB-ga

Kõik õpetuse videod Pythoniga programmeerimine - algajate kursus

Kui sa programmeerid Pythonis, oled sa tõenäoliselt juba varem vigu kohanud. Mõnikord on neid lihtne tuvastada, kuid keerukamate rakenduste puhul võib tõrkeotsing olla väljakutse. Siia tuleb mängu Python-i tõrkeotsija, tuntud ka kui PDB. Aitäh, et saad kontrollida oma programmi seisundit igal ajal, kontrollida muutujate väärtusi ja välja selgitada, mis valesti läks. Selles juhendis õpid, kuidas kasutada PDB-tõrkeotsijat oma Python-projektide optimeerimiseks tõhusalt.

Olulised teadmised

  • PDB tõrkeotsija võimaldab sul koodi järk-järgult läbi käia.
  • Kasutades funktsiooni pdb.set_trace(), saad tõrkeotsinguprotsessi igal koodipunktis peatada.
  • Sa saad uurida muutujaid, koodi interaktiivselt täita ja seega vigu kergesti tuvastada.

Järk-järguline juhend

PDB moodul importimine

Tõrkeotsija kasutamiseks pead importima PDB mooduli. Seda teostatakse käsuga import pdb. Breakpoint'i seadmine koodi alguses muudab sinu jaoks lihtsamaks kontrollida täitmist igas punktis.

Pythoni siluri PDB meisterlikkus

Muutujate määramine

Nüüd määrates sa mõned muutujad oma rakendusele. Looge näiteks loend a väärtustega ja kaks muud muutuja b ja c, mis esitavad lihtsaid täisarve. Nende abil saad teha erinevaid arvutusi ja jälgida tulemusi.

Python-i siluri PDB meistriks saamine

Lihtsa arvutuse teostamine

Teosta lihtne arvutus, näiteks b ja c summa. See on lihtne samm, et veenduda, et kood töötab nagu oodatud. Oodata on, et väljund peaks olema 18, kui liidad b (5) ja c (13).

Pythoni debuggeri PDB meistrid

Tõrgete haldamine

Nüüd tekib viga, kui püüad liita loendit a täisarvuga b. Python väljastab TypeError'i, mis näitab, et sa püüad liita loendit täisarvuga. See võib alguses tekitada segadust, eriti suuremas programmis.

Pythoni debuggeri PDB meisterdamine

PDB.set_trace() kasutamine

Selleks, et rohkem teada saada vea põhjuse kohta, lisad enne probleemset rida käsu pdb.set_trace(). Kui nüüd koodi täita, peatub see täpselt sellel hetkel. See annab sulle võimaluse interaktsioonideks koodiga ja näha, mida muutujad tegelikult sisaldavad.

Pythoni debuggeri PDB meisterlikkus

Muutujate uurimine

Kui täitmine on peatatud, saad uurida erinevaid muutujaid. Nii saad kontrollida, millised väärtused neile on määratud. Kui sa lihtsalt sisestad muutuja nime terminali, näed selle hetke väärtust. Näiteks, kui sa passid a, saad loendi, mille iga alguses määrasid.

Väljendite testimine

Lisaks muutujatele saad testida ka koodiväljendeid tõrkeotsijas. Näiteks saad proovida b + b, et näha, mis juhtub. See toob sind teadlikeks võimalike loogiliste vigade kohta sinu koodis või saad lihtsalt proovida print(b) täita, et otse tulemust näha.

Pythoni debuggimise meistrid PDB-ga

Täiendavad kasutusvõimalused

PDB tõrkeotsija pakub palju muid funktsioone, mille kohta saad lugeda ametlikust dokumentatsioonist. Erakordselt kasulik on selle interaktiivsete võimaluste mitmekesisus. Vaata seega, milliseid muid funktsioone moodul pakub ja kuidas saad neid oma programmides kasutada.

Pythoni siluri PDB meistriteotmine

Tõrkeotsimisprotsessi lõpetamine

Kui oled kõik vajalikud andmed kogunud, saad tõrkeotsimisprotsessi lõpetada ja jätkata oma koodi järgmise osaga. Pea meeles, et saad igal ajal kasutada pdb.set_trace(), et peatada oma programmi täitmine teatud punktis ja uurida muutujaid.

Kokkuvõte

PDB tõrkeotsijaga on sul käsutuses võimas tööriist, et lihtsustada vigade otsimist oma Python-projektides. Funktsiooni pdb.set_trace() abil saad katke koodi, uurida muutujaid ja kontrollida programmi hetke seisundit. Need tehnikad on eriti kasulikud, kui töötad keerukamate rakendustega ja soovid säilitada ülevaate.

Korduma kippuvad küsimused

Mis on PDB?PDB on Python-i tõrkeotsija, millega saad teha Python-koodi tõrkeotsingut.

Kuidas importida PDB moodulit?Sa importid PDB, seadistades impordi koodi algusesse import pdb.

Mis teeb funktsioon pdb.set_trace()?Sellega funktsiooniga saad peatada koodi täitmise ja uurida praeguseid muutuja väärtusi.

Kas ma saan tõrkeotsijas arvutusi teha?Jah, saad igal ajal käske täita ja muutujaid uurida, kui oled tõrkeotsijas.

Kus leian rohkem teavet PDB mooduli kohta?Rohkem teavet leiad ametlikust Python-i dokumentatsioonist aadressil doc.python.org.