U ovom ćemo članku naučiti o tvrdnji u Pythonu pomoću assert.
Što je tvrdnja?
Tvrdnje su izjave koje tvrde ili pouzdano navode činjenicu u vašem programu. Na primjer, dok pišete funkciju dijeljenja, sigurni ste da djelitelj ne smije biti nula, tvrdite da djelitelj nije jednak nuli.
Tvrdnje su jednostavno logički izrazi koji provjeravaju vraćaju li se uvjeti istina ili ne. Ako je to točno, program ne poduzima ništa i prelazi na sljedeći redak koda. Međutim, ako je lažno, program se zaustavlja i baca pogrešku.
Također je alat za otklanjanje pogrešaka jer zaustavlja program čim se dogodi bilo kakva pogreška i pokazuje na kojoj je točki programske pogreške došlo.
Možemo biti jasni ako pogledamo dijagram toka u nastavku:
Izjava o tvrđenju Pythona
Python ima ugrađenu assert
izjavu za upotrebu uvjeta tvrdnje u programu. assert
iskaz ima uvjet ili izraz koji bi trebali uvijek biti istiniti. Ako je uvjet lažan, tvrditi zaustavlja program i daje znak AssertionError
.
Sintaksa za korištenje Assert-a u Pyhtonu:
tvrditi
tvrditi,
U Pythonu možemo koristiti assert
izjavu na dva načina kako je gore spomenuto.
assert
Izjava ima uvjet i ako uvjet nije zadovoljen program će se zaustaviti i datiAssertionError
.assert
Izjava također može imati uvjet i neobaveznu poruku o pogrešci. Ako uvjet nije zadovoljen, tvrditi zaustavlja program i dajeAssertionError
zajedno s porukom o pogrešci.
Uzmimo primjer, gdje imamo funkciju koja izračunava prosjek vrijednosti koje je korisnik proslijedio, a vrijednost ne smije biti prazan popis. Pomoću assert
naredbe provjerit ćemo parametar, a ako je duljina prosljeđenog popisa jednaka nuli, program se zaustavlja.
Primjer 1: Korištenje assert-a bez poruke o pogrešci
def avg(marks): assert len(marks) != 0 return sum(marks)/len(marks) mark1 = () print("Average of mark1:",avg(mark1))
Kada pokrenemo gornji program, izlaz će biti:
AssertionError
Dobili smo pogrešku dok smo prosljeđivali prazan popis mark1 u assert
izraz, uvjet je postao netačan i assert zaustavlja program i daje AssertionError
.
Sad ćemo proći još jedan popis koji će zadovoljiti assert
uvjet i vidjeti kakav će biti naš izlaz.
Primjer 2: Korištenje assert s porukom pogreške
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))
Kada pokrenemo gornji program, izlaz će biti:
Prosjek ocjene 2: 78,0 AssertionError: Popis je prazan.
Funkciji smo proslijedili neprazan popis mark2, a također i prazni popis mark1, avg()
a dobili smo izlaz za popis mark2, ali nakon toga dobili smo pogrešku AssertionError: List is empty
. Popis assert
mark2 i program za nastavak izvođenja ispunili su uvjet. Međutim, mark1 ne zadovoljava uvjet i daje znak AssertionError
.
Ključne točke koje treba zapamtiti
- Tvrdnje su uvjet ili logički izraz koji bi uvijek trebali biti istiniti u kodu.
assert
izraz uzima izraz i neobaveznu poruku.assert
naredba se koristi za provjeru vrsta, vrijednosti argumenata i rezultata funkcije.assert
naredba koristi se kao alat za otklanjanje pogrešaka jer zaustavlja program na mjestu gdje se dogodi pogreška.