Prohlášení o Pythonu

V tomto článku se dozvíme o prosazování v Pythonu pomocí assert.

Co je tvrzení?

Tvrzení jsou tvrzení, která ve vašem programu s jistotou tvrdí nebo uvádí skutečnost. Například při psaní funkce dělení jste si jisti, že dělitel by neměl být nulový, tvrdíte, že dělitel se nerovná nule.

Tvrzení jsou jednoduše booleovské výrazy, které kontrolují, zda jsou podmínky pravdivé nebo ne. Pokud je to pravda, program neudělá nic a přejde na další řádek kódu. Pokud je to však nepravda, program se zastaví a vyvolá chybu.

Je to také nástroj pro ladění, protože program se zastaví, jakmile dojde k jakékoli chybě, a ukazuje, ve kterém bodě chyby programu došlo.

Můžeme si vyjasnit, když se podíváme na vývojový diagram níže:

Prohlášení o Pythonu

Python má vestavěný assertpříkaz pro použití podmínky tvrzení v programu. assertpříkaz má podmínku nebo výraz, který má být vždy pravdivý. Pokud je podmínka falešná, tvrzení zastaví program a dá AssertionError.

Syntaxe pro použití Assert v Pyhtonu:

 tvrdit 
 tvrdit,

V Pythonu můžeme použít assertpříkaz dvěma způsoby, jak je uvedeno výše.

  1. assertpříkaz má podmínku a pokud podmínka není splněna, program se zastaví a dá AssertionError.
  2. assertprohlášení může mít také podmínku a volitelnou chybovou zprávu. Pokud podmínka není splněna, program Assert zastaví program a AssertionErrorzobrazí chybovou zprávu.

Vezměme si příklad, kde máme funkci, která vypočítá průměr hodnot předaných uživatelem a hodnota by neměla být prázdným seznamem. Příkaz použijeme assertke kontrole parametru a pokud je délka předaného seznamu nulová, program se zastaví.

Příklad 1: Použití assert bez chybové zprávy

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

Když spustíme výše uvedený program, výstup bude:

 AssertionError

Při předávání prázdného seznamu mark1 do assertpříkazu jsme dostali chybu , podmínka se stala nepravdivou a tvrzení zastaví program a dá AssertionError.

Nyní projdeme další seznam, který splní assertpodmínku a uvidíme, jaký bude náš výstup.

Příklad 2: Použití assertu s chybovou zprá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))

Když spustíme výše uvedený program, výstup bude:

 Průměr známky 2: 78,0 AssertionError: Seznam je prázdný.

avg()Funkci jsme předali neprázdný seznam mark2 a také prázdný seznam mark1 a dostali jsme výstup pro seznam mark2, ale poté jsme dostali chybu AssertionError: List is empty. assertPodmínka byla splněna v seznamu Mark2 a program pokračovat v jízdě. Mark1 však podmínku nesplňuje a dává AssertionError.

Klíčové body k zapamatování

  • Tvrzení jsou podmínkou nebo booleovským výrazem, který má v kódu vždy platit.
  • assert příkaz má výraz a volitelnou zprávu.
  • assert příkaz se používá ke kontrole typů, hodnot argumentu a výstupu funkce.
  • assert příkaz se používá jako nástroj pro ladění, protože zastaví program v místě, kde dojde k chybě.

Zajímavé články...