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é assert
vyhlásenie na použitie podmienky tvrdenia v programe. assert
vyhlá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 assert
príkaz použiť dvoma spôsobmi, ako je uvedené vyššie.
assert
vyhlásenie má podmienku a ak podmienka nie je splnená, program sa zastaví a dáAssertionError
.assert
vyhlásenie môže mať aj podmienku a voliteľnú chybovú správu. Ak podmienka nie je splnená, programert zastaví program aAssertionError
zobrazí 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 assert
prí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 assert
príkazu sme dostali chybu , podmienka sa stala nepravdivou a tvrdenie zastaví program a dá AssertionError
.
Teraz poďme prejsť ďalším zoznamom, ktorý splní assert
podmienku 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
. assert
Podmienka 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.