Python AssertionError

Python Assertionerror



Ja Python programma darbības laikā saskaras ar neparedzētu stāvokli, programma aptur izpildi un atgriež izņēmumu. Programmā Python izņēmumi un sintakses kļūdas ir divas galvenās kļūdu kategorijas. Ja Python koda daļa, kas ir sintaktiski derīga, rada kļūdu, to sauc par izņēmuma/kļūdas rašanos. Kļūdas ziņojums pēdējā rindiņā definē precīzu izņēmuma veidu un sniedz aprakstu, lai palīdzētu atkļūdot, un bultiņa norāda uz rindiņu vai vietu, kur notika izņēmums. Izņēmumu uztveršana un pārvaldība ir ļoti svarīga, lai izvairītos no pēkšņas programmas avārijas. Izmantojiet citu veidu, lai izpildītu kodu. Piemēram, kad notiek norādītais izņēmums. Šajā apmācībā tiks apspriesta AssertionError problēma un tas, kā jūs varat to atrisināt programmā Python.

Kas ir AssertionError programmā Python?

Apgalvojumu kļūdas ir programmēšanas jēdziens, kas rodas, kad programmētājs raksta vai izveido koda bloku, ko izmanto, lai deklarētu, ka kritērijs vai nosacījums ir izpildīts pirms moduļa palaišanas. Tāpat kā jebkura Python kļūda, vadība tiek pārsūtīta uz nākamo koda rindu, ja nosacījums tika norādīts, kad apgalvojums tika pasludināts par patiesu. Savukārt, ja tā ir nepatiesa, tiek parādīta kļūda vai izņēmums, un programma tiek apturēta. Apgalvojuma apgalvojumu var izmantot dažādās programmēšanas valodās ar to specifiskajām sintaksēm, jo ​​tas nav atkarīgs no valodas. Tā ir klases Izņēmuma apakšklase vai eksemplārs. Python AssertionError ir šāda sintakse:

Sintakse: apgalvojuma nosacījums, kļūdas_ziņojums (neobligāts)







Piemērs

Mēs ievadīsim personas vecumu, un, ja tas ir mazāks par nulli, konsole parādīs apgalvojuma kļūdu.





Ko darīt, ja mēs ievadām vecumu, kas ir mazāks par 0?





Koda atkļūdošana, izmantojot šo metodi, ir vienkāršāka, tādējādi atvieglojot kļūdu atrašanu un kļūdu labošanu programmā.



Kā AssertionError darbojas programmā Python

Python valodā ir ietverts apgalvojums, ko var izmantot, lai ģenerētu vienkāršu kļūdu ziņojumu izvadi ar loģiskiem apgalvojumiem. Ja apgalvojuma paziņojums neizdodas, tiek parādīts “izņēmums” AssertionError. Programmā Python izņēmumu klases ir atvasinātas no klases BaseException. Klase BaseException, kas ir arī AssertionError klases bāzes klase, ir vieta, no kuras izriet Exception klase. Vienmēr ir jābūt atbilstošam izņēmumu apstrādes kodam, lai tiktu galā ar apgalvojuma kļūmi, kad tāds tiek izmantots. Python noklusējuma izņēmumu apdarinātājs izdrukā programmētāja rakstīto kļūdas ziņojumu, taču kļūdu var arī apstrādāt vai novērst bez kļūdas ziņojuma.

AssertionError ieviešana programmā Python

Tālāk ir sniegti vairāki Python AssertionError piemēri:

Piemērs

Šajā piemērā mēs rakstīsim Python programmu, lai parādītu AssertionError programmā, kas atrod apļa laukumu.

Rādiusa vērtība “r” tiek nodota kā ievade funkcijai iepriekšējā programmā, kas izveidota, lai atrastu apļa laukumu. Pēc tam apgalvojums tiek izmantots, lai noteiktu, vai norādītā vērtība vai rādiuss “r” ir zem nulles, un, ja tam tiek piegādāta negatīva vērtība, tiks paaugstināts izņēmums. Apļa laukums tiks atgriezts, pamatojoties uz funkcijai piegādāto rādiusa “r” vērtību. Pirmkārt, funkcija tiek izpildīta ar vērtību r kā 3. Pēc tam funkcija tiek izpildīta ar vērtību 2,5. AssertionError tiek parādīts, ja mēs izmantojam negatīvu vērtību “r”, t.i., “-1”.

Mēģināsim izmantot citu piemēru, lai parādītu apgalvojuma kļūdas rašanos.

Piemērs

Šajā piemērā programma noteiks, vai saucēja vērtība nav nulle.

Apgalvojuma kļūdas kļūdas ziņojums tiek parādīts iepriekšējā programmā. Mēs esam izveidojuši divus mainīgos (a un b), un veselu skaitļu vērtības norāda mainīgos. Pēc tam tiek pārbaudīts otrais mainīgais, t.i., b, lai noskaidrotu, vai tas nav vienāds ar 0, izmantojot apgalvojumu par apgalvojumu. Pretējā gadījumā tiek izdrukāts kļūdas ziņojums. Ja nē, tiek parādīts pirmā skaitļa dalīšanas rezultāts ar otro vērtību. Iepriekšējā attēlā tiek parādīta programmas izvade.

AssertionError lietojumprogrammas

Citi izdevīgi apgalvojuma kļūdas lietojumi ir:

  • Apgalvojums palīdz novērtēt parametru vērtības
  • Apgalvojumi palīdz pārraudzīt ievades veidu un to, vai šī vērtība ir derīga
  • Turklāt apgalvojumi palīdz noteikt, vai cits koda izstrādātājs ļaunprātīgi izmanto saskarni
  • Apgalvojumi palīdz nepārtraukti uzraudzīt programmas rezultātus

Kā mēs varam izvairīties no apgalvojumu kļūdām Python

  1. Karodziņu -O Python programmā var izmantot, lai atspējotu katru apgalvojumu. Ir svarīgi paturēt prātā, ka apgalvojumi, kas nāk pēc apgalvojuma, netiks izpildīti, ja mēs atspējosim apgalvojuma paziņojumus.
  2. Vides mainīgais var arī iestatīt karodziņu, lai izslēgtu apgalvojumu paziņojumus. Šajā situācijā tiek ietekmēti visi procesi un lietojumprogrammas, kas izmanto vai pārmanto vidi.
  3. Programmā Python vienkāršākā metode apgalvojumu kļūdu novēršanai ir to manuāla apstrāde. Ja nodrošinām, ka programmas vadības plūsma tiek novirzīta tā, lai tā nepiekļūtu apgalvojuma apgalvojumiem, tad apgalvojumu kļūdu iespējamība nav iespējama.

AssertionError apstrāde

Papildus apgalvojuma apgalvojumam mēs varam apstrādāt arī apgalvojuma kļūdu, izmantojot šādas metodes:

Apgalvojuma kļūdas apstrāde, izmantojot blokus Try-Except

Apgalvojuma apgalvojums nosaka, vai vērtības ir vienādas. Mēģināšanas bloks rada AssertionError kļūdu, jo šie veselie skaitļi nav vienādi. Drukāšanas komanda tiek izpildīta pēc tam, kad izņēmuma bloks ir pieņēmis izņēmumu. Šeit tiek parādīta izņēmuma bloka drukas paziņojuma izvade. Atslēgvārdu “Palielināt” var izmantot, lai atkārtoti palielinātu kļūdu izņēmuma blokā, lai mēs varētu noteikt izņēmuma avotu. Ja notiek izņēmums, atslēgvārds “paaugstināt” parādīs kļūdu un beigs programmu. Tas palīdz saglabāt vai saglabāt esošo izņēmumu ierakstu/izsekošanu.

AssertionError apstrāde, izmantojot izsekošanas moduli

Ja kods satur vairākus apgalvojumus, izsekošanas modulis palīdz identificēt precīzu kļūdas avotu.

Izmantojot izsekošanas moduli, mūsu drukas paziņojumu var rakstīt ar vietturi {}.

Turklāt mēs varam definēt citus mainīgos, lai saglabātu rindas pozīciju, faila nosaukumu, metodes nosaukumu, kā arī tekstu/ziņojumu, kurā noticis izņēmums.

Izsekošanas objekts tiek saukts par “tb”. Mēs izmantojam divus vietturus: vienu tekstam un vienu rindiņas pozīcijai drukas priekšrakstā.

Trīs priekšraksta “raise” komponentus — exc_type, exc_traceback un exc_value — atgriež funkcija sys.exc_info().

Apgalvojuma kļūdas apstrāde, izmantojot drukas paziņojumu

Lai manuāli apstrādātu izņēmumu, izņēmuma blokā varam izmantot paziņojumu “drukāt”.

Drukāšanas paziņojumā tiek drukāts jebkurš lietotāja ievadīts kļūdas ziņojums. Izmantojot šo metodi, tehniska kļūda lietotājam neradīs bažas.

Kļūdas vietā tiek parādīts īss ziņojums.

Secinājums

Šajā ziņojumā mēs pirmo reizi redzējām izņēmumu ieviešanu Python. Mēs apspriedām AssertionError, kā tas darbojas un kā mēs varam ieviest AssertionError programmā Python. Mēs izskaidrojām vairākas AssertionError priekšrocības un to, kā no tām izvairīties. Šīs ziņas pēdējā sadaļā mēs redzējām, kā mēs varam apstrādāt AssertionError programmā Python, izmantojot Try-Except Blocks, izsekošanas moduli un drukas paziņojumu.