Vyhlásenie Python Assert

V tomto článku sa dozvieme o tvrdení v Pythone pomocou funkcie assert.

Čo je to tvrdenie?

Tvrdenia sú tvrdenia, ktoré vo vašom programe s istotou tvrdia alebo uvádzajú skutočnosť. Napríklad pri písaní funkcie delenia ste si istí, že deliteľ by nemal byť nula, tvrdíte, že deliteľ sa nerovná nule.

Tvrdenia sú jednoducho boolovské výrazy, ktoré kontrolujú, či sú podmienky pravdivé alebo nie. Ak je to pravda, program neurobí nič a presunie sa na ďalší riadok kódu. Ak je to však nesprávne, program sa zastaví a vyhodí chybu.

Je to tiež nástroj na ladenie, pretože program sa zastaví, akonáhle dôjde k akejkoľvek chybe, a ukazuje, v ktorom bode chyby programu sa vyskytla.

Jasné bude, keď sa pozrieme na vývojový diagram nižšie:

Vyhlásenie o uplatnení Pythonu

Python má zabudované assertvyhlásenie na použitie podmienky tvrdenia v programe. assertvyhlásenie má podmienku alebo výraz, ktorý má byť vždy pravdivý. Ak je podmienka falošná, programert zastaví program a dá znak AssertionError.

Syntax pre použitie Assert v Pyhton:

 tvrdiť 
 tvrdiť,

V Pythone môžeme assertpríkaz použiť dvoma spôsobmi, ako je uvedené vyššie.

  1. assertvyhlásenie má podmienku a ak podmienka nie je splnená, program sa zastaví a dá AssertionError.
  2. assertvyhlásenie môže mať aj podmienku a voliteľnú chybovú správu. Ak podmienka nie je splnená, programert zastaví program a AssertionErrorzobrazí chybové hlásenie.

Zoberme si príklad, kde máme funkciu, ktorá bude počítať priemer hodnôt odovzdaných používateľom a hodnota by nemala byť prázdnym zoznamom. Pomocou assertpríkazu skontrolujeme parameter a ak je dĺžka odovzdaného zoznamu nulová, program sa zastaví.

Príklad 1: Použitie tvrdenia bez chybovej správy

 def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))

Keď spustíme vyššie uvedený program, výstup bude:

 AssertionError

Pri odovzdávaní prázdneho zoznamu mark1 do assertpríkazu sme dostali chybu , podmienka sa stala nepravdivou a tvrdenie zastaví program a dá AssertionError.

Teraz poďme prejsť ďalším zoznamom, ktorý splní assertpodmienku a uvidíme, aký bude náš výstup.

Príklad 2: Použitie tvrdenia s chybovou správou

 def avg(marks): assert len(marks) != 0,"List is empty." return sum(marks)/len(marks) mark2 = (55,88,78,90,79) print("Average of mark2:",avg(mark2)) mark1 = () print("Average of mark1:",avg(mark1))

Keď spustíme vyššie uvedený program, výstup bude:

 Priemer známky 2: 78,0 AssertionError: Zoznam je prázdny.

Funkcii sme odovzdali neprázdny zoznam mark2 a tiež prázdny zoznam mark1 avg()a dostali sme výstup pre zoznam mark2, ale potom sme dostali chybu AssertionError: List is empty. assertPodmienka bola splnená v zozname Mark2 a program pokračovať v jazde. Značka1 však nespĺňa podmienku a dáva znak AssertionError.

Kľúčové body, ktoré si treba pamätať

  • Tvrdenia sú podmienkou alebo boolovským výrazom, ktoré majú byť v kóde vždy pravdivé.
  • assert vyhlásenie má výraz a voliteľnú správu.
  • assert príkaz sa používa na kontrolu typov, hodnôt argumentu a výstupu funkcie.
  • assert príkaz sa používa ako nástroj na ladenie, pretože zastaví program v mieste, kde sa vyskytne chyba.

Zaujímavé články...